Welcome to the Enrich Hair Salon Website! This project is designed to provide a seamless experience for users to book appointments at a salon. The website is built with modern web technologies, ensuring a fast and responsive user interface.
- Appointment Booking: Easy-to-use booking system for scheduling salon services.
- Admin Dashboard: Includes complex charts, Data Grids, and beautiful notifications for managing bookings and viewing reports.
- Payment Integration: Secure payment gateway integration with Razorpay for processing payments.
- Email Notifications: Automated email notifications sent to both users and admins upon successful bookings using Nodemailer.
- Admin Authentication: Secure authentication for admin.
- Validation: Form validation with Zod.
- Responsive Design: Fully responsive design that works on all devices.
- Frontend: React, Tailwind
- Backend: Node.js, Express.js
- Database: MongoDB (local for development, cloud-based for production)
- Styling: Material UI
- Charts: react-chartjs-2
- Data Grids: MUI Data Grids
- Notifications: Sonner
- Payment Gateway: Razorpay
- Validation: Zod
- Email: Nodemailer
-
client/: Contains all the source code for the frontend.
- src/: main folder for frontend.
- components/: Reusable components used across the application.
- admin/: all teh components for admin dashboard.
-
server/: Backend code for handling API requests, authentication, and database interactions.
- models/: Mongoose models for MongoDB collections.
- routes/: API routes for different functionalities (e.g., booking).
- controllers/: Logic for handling API requests.
- utils/: Services for payment processing (Razorpay), email notifications (Nodemailer), and validation (Zod).
- Choose a Service: Browse the available services and select the one you want to book.
- Select a Date and Time: Choose your preferred date and time for the appointment.
- Make Payment: Securely pay for your booking using the Razorpay payment gateway.
- Confirmation: Receive a confirmation email with the details of your appointment.
- Log In: Admins can log in with their credentials.
- Manage Bookings: View and manage all bookings made by users.
- Generate Reports: View monthly/daily reports with complex charts and data grids.
- Manage Services: Add, edit, or delete salon services.
- Receive Notifications: Get notified about important events and updates.
The website is not yet deployed. This soon will be deployed!