Formify is a modern web application designed to simplify form creation, management, and response collection. Built using the MERN stack, it provides an intuitive interface and powerful backend for seamless form workflows.
- Dynamic Form Builder: Create and customize forms with real-time previews.
- Response Management: View, search, and analyze responses efficiently.
- User Authentication: Role-based access control and secure authentication.
- Field Validation: Conditional validation based on field types.
formify/
├── backend/ # Backend services
├── frontend/ # Frontend application
├── README.md # Project documentation
├── TODO.md # Task list and progress
The backend is powered by Node.js and Express.js, providing RESTful APIs for form and user management.
- RESTful APIs for form and response handling.
- Secure authentication with Passport.js.
- Caching and session management.
- Logging with Winston.
- Rate limiting to prevent abuse.
- CORS and CSRF protection.
-
Navigate to the backend directory:
cd backend -
Install dependencies:
npm install
-
Set up environment variables in a
.envfile:PORT=YOUR_VALUE_GOES_HERE NODE_ENV=YOUR_VALUE_GOES_HERE MONGO_URI=YOUR_VALUE_GOES_HERE SESSION_SECRET=YOUR_VALUE_GOES_HERE CLIENT_URL=YOUR_VALUE_GOES_HERE
-
Start the server:
npm start
The backend will be accessible at http://localhost:5000.
The frontend is built with React.js, providing a responsive and user-friendly interface.
- Customizable field components.
- Integration with backend APIs.
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Create a
.env.localfile in the frontend directory:VITE_API_URL=YOUR_VALUE_GOES_HERE
-
Start the development server:
npm start
The app will be accessible at http://localhost:3000.
- Node.js (v16 or higher)
- MongoDB (v4 or higher)
- Redis
git clone https://github.com/joehsn/formify.git
cd formify- Start the backend server as described above.
- Start the frontend application.
- Backend:
npm start: Start the backend server.npm run dev: Start the backend server in development mode.
- Frontend:
npm start: Start the frontend development server.npm run build: Build the frontend for production.
- User Analytics Dashboard: Provide insights into form responses.
- Mobile App: Build native applications for iOS and Android.
- Third-party Integrations: Google Sheets, Slack, and more.
For questions or support, reach out at [email protected].