A powerful and flexible form builder application built with Angular and Material Design. This application allows users to create, manage, fill out, and analyze forms with various field types and configurations.
- Dynamic Form Builder: Create custom forms with a drag-and-drop interface
- Multiple Field Types:
- Text fields
- Number fields with validation
- Date fields
- Checkboxes
- Select/Dropdown fields
- Masked input fields (for formatted text like phone numbers, ZIP codes, etc.)
- Field Configuration:
- Custom labels and placeholders
- Required field validation
- Field-specific settings (e.g., min/max for numbers, masks for formatted inputs)
- Custom validation rules
- User-friendly interface for form respondents
- Real-time validation
- Responsive design works on all devices
- Save partial responses
- Clear feedback on required fields and validation errors
- View all responses for each form
- Organize responses by submission date
- Filter and search through responses
- Individual response inspection
- Export form responses to CSV format
- CSV exports include:
- All form fields as columns
- One row per response
- Properly formatted data
- Handles special characters and comma-separated values
- Forms and responses are stored locally using IndexedDB
- No server required - works completely in the browser
- Data persistence across sessions
This project is built with:
- Angular (latest version)
- Angular Material for UI components
- IndexedDB for local storage
- TypeScript for type safety
- Clone the repository
- Install dependencies:
npm install
- Start the development server:
npm start
- Open your browser to
http://localhost:4200
- Navigate to the Form Editor
- Add fields using the "Add Field" button
- Configure each field's properties
- Save the form
- Select a form from the home page
- Fill in the required fields
- Submit the form
- Navigate to the form's responses page
- View all submissions
- Export to CSV if needed
- Go to the responses view for a form
- Click the export button to download responses as CSV
- Open the CSV file in your preferred spreadsheet software
The project follows Angular best practices and uses a modular architecture:
- Components for UI elements
- Services for business logic and data management
- Models for type definitions
- Material Design for consistent styling
This project is open source and available under the MIT License.