test11111
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
A comprehensive form builder application with authentication, drag-and-drop form creation, and embeddable forms.
- User Authentication: Secure login/register system
- Dashboard: Manage all your forms in one place
- Form Builder: Drag-and-drop interface for creating forms
- Form Sharing: Share forms via direct links
- Form Embedding: Generate embed codes for external websites
- Submission Management: View and manage form submissions
├── backend/
│ ├── database/
│ │ ├── migrations.ts # Database schema setup
│ │ └── queries.ts # Database query functions
│ ├── routes/
│ │ ├── auth.ts # Authentication routes
│ │ ├── forms.ts # Form CRUD operations
│ │ ├── submissions.ts # Form submission handling
│ │ └── embed.ts # Form embedding endpoints
│ └── index.ts # Main server entry point
├── frontend/
│ ├── components/
│ │ ├── App.tsx # Main application component
│ │ ├── Auth.tsx # Login/Register forms
│ │ ├── Dashboard.tsx # Forms dashboard
│ │ ├── FormBuilder.tsx # Drag-and-drop form builder
│ │ └── FormRenderer.tsx # Renders forms for public view
│ ├── index.html # Main HTML template
│ └── index.tsx # Frontend entry point
├── shared/
│ └── types.ts # Shared TypeScript types
└── embed/
└── widget.js # Embeddable form widget
- The application runs on Val Town's serverless platform
- SQLite database for data persistence
- JWT-based authentication
- React frontend with TypeScript
POST /api/auth/register
- User registrationPOST /api/auth/login
- User loginGET /api/forms
- Get user's formsPOST /api/forms
- Create new formPUT /api/forms/:id
- Update formDELETE /api/forms/:id
- Delete formPOST /api/forms/:id/submit
- Submit form dataGET /api/forms/:id/submissions
- Get form submissionsGET /embed/:formId
- Embeddable form endpoint
- Backend: Hono.js, SQLite, JWT
- Frontend: React, TypeScript, TailwindCSS
- Platform: Val Town (Deno runtime)