Project Structura

A full-stack form builder for designing, publishing, and managing custom data collection workflows. It pairs a drag-and-drop editor with secure public form sharing, anonymous submissions, and owner-only response tracking.

Core Objectives

Fast Form Authoring
The project is built to help users assemble complex forms quickly with drag-and-drop controls, templates, and configurable field rules. It reduces the friction of starting from a blank canvas and keeps the editing workflow highly visual.
Controlled Publishing
Forms can move cleanly from draft to public release through a tokenized publish flow. This gives owners a simple way to share forms externally while still keeping edit access and ownership locked down.
Secure Response Management
The app is designed to collect submissions safely and organize them for later review. Anonymous public respondents can submit entries, while authenticated owners retain exclusive access to response lists and response details.

Landing & Access

Login Modal

Handles sign-in and signup so users can authenticate before accessing the builder.

Template Showcase

Surfaces starter templates to help users begin with a prebuilt structure instead of a blank form.

Onboarding Landing Page

Introduces the product and funnels users into the builder and dashboard experience.

Session Setup

Establishes authenticated access backed by token-based login flows.

Form Builder Workspace

Field Palette

Lets users choose from available field types and add them to the form canvas.

Drag-and-Drop Canvas

Uses sortable drag-and-drop interactions so fields can be rearranged visually.

Field Configurator

Provides controls for labels, options, required states, and other per-field settings.

Conditional Rule Builder

Adds branching behavior so fields can appear or behave based on prior answers.

Validation Rules List

Lets users define constraints that keep submissions structured and consistent.

Publish & Response Review

Publish Modal

Converts a draft form into a published one and generates a shareable public URL.

Public Form Viewer

Renders the anonymous respondent-facing version of the form for external submissions.

Form Preview

Shows owners exactly how the final form will look before sharing it publicly.

Form Responses Dashboard

Displays collected submissions and supports browsing response records.

Response Detail View

Lets owners inspect individual submissions after they are stored.

Architecture & Processing Flow

Sequential Processing Flow
Authenticate Dashboard/Load Forms Builder/Drafting Store (MongoDB/Memory) Publish/Generate URL Collect Submissions

1. The user signs up or logs in through the auth endpoints, and the server hashes passwords and issues a JWT.
2. The dashboard loads the authenticated user’s saved forms through protected API routes filtered by owner ID.
3. In the builder, the user assembles the form with drag-and-drop components, templates, and rule editors while the client store keeps the working schema in sync.
4. Saving sends the form schema to the backend, where it is stored in MongoDB with metadata such as title, fields, template, settings, and ownership.
5. Publishing switches the form from draft to published, generates a unique public token, and creates a shareable public URL.
6. Public visitors fetch the form by token and submit responses, which are stored as response documents while the form’s response count is incremented for owner reporting.

The backend uses a clean ownership model centered on userId, JWT verification, and separate public versus private routes. That separation makes the app easier to reason about: private routes manage CRUD, publishing, and response review, while public routes only expose the minimum fields needed to render and submit a live form. The server also includes an in-memory database fallback when MONGO_URI is missing, which makes local development fast and lowers the barrier to running the project.

On the client side, the builder is split into focused UI components and supporting utility modules, which keeps the form-authoring experience modular rather than monolithic. Drag-and-drop behavior is handled through the dnd-kit ecosystem, while reusable helpers for validation, conditional rules, and field behavior keep form logic isolated from presentation. The presence of a centralized store and template context suggests a state-driven architecture that makes complex builder interactions easier to coordinate across the dashboard, canvas, preview, and publishing flows.

Project Impact

Project Structura fundamentally optimizes structural data collection by providing an elegant, high-performance web forms architecture. By pairing an intuitive drag-and-drop workspace with robust conditional logics, it allows administrators to deploy complex data acquisition workflows in minutes rather than days.

The platform bridges the divide between secure internal administration and broad public engagement. Through its granular control of published layouts, anonymous submission tokens, and highly secured owner dashboards backed by strict JWT governance, the system ensures respondent anonymity while maintaining absolute data integrity.

Ultimately, Project Structura democratizes custom surveying and organizational reporting. It completely removes the barrier of engineering custom forms for each campaign, acting as a flexible, dependable backbone for enterprise-grade analytics, anonymous polling, and institutional data collection.