Develop a web form that allows users to register for an event. The form captures essential details and provides a confirmation upon submission on your mail and webApp.
- Form Fields:
- Full Name
- Email Address
- Phone Number
- Selection of Event Sessions (dropdown)
- Client-Side Validation:
- Ensure all form fields are validated.
- Email should follow the correct format.
- Phone numbers should only contain numbers.
- Confirmation Page:
- Upon submission, display a confirmation page summarizing the provided details and a unique registration ID.
- Server-Side Processing:
- Store the registration details in a server-side file or a database, I use MongoDB.
- Implement basic server-side validation.
- Confirmation Email (Optional):
- Send a confirmation email to the registrant with the details of their registration.
- Frontend: React, Bootstrap
- Backend: Node.js, Express.js, Mongoose
- Database: MongoDB
- Email Service: Nodemailer
- Ensure you have Node.js and MongoDB installed on your system.
- Clone this repository to your local machine.
- Make .env in server with these details.
MONGO_URI = "Your MONGO URI"
PORT = 8000
EMAIL_USER="Your Email"
EMAIL_PASS="Your Email Passkey"
- Install npm in both server and cliet folder.
- Navigate to the 'server' directory.
- Run the command to start the server (npm install).
- Navigate to the 'client' directory.
- Run the command to start the client application (npm install).
- User submits the registration form.
- Client-side validation: Ensures all fields are filled correctly.
- Form data is sent to the server.
- Server-side validation: Validates and stores the data in the database.
- Server sends a confirmation email.
- Confirmation page: Displays the registration details and a unique registration ID.
- Frontend: Netlify Deployed Site
- Backend: Render Deployed API
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.