Skip to content

Ankeshkewat/Salon-appointment-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

It is a collaborative projects build by a team of three members. We are working on this

Name of the project is HairDoc using this user can book salon appointment.

Contributors

  • Anuj Rawat
  • Ekta
  • Ankesh Kewat

Working flow of the website

  1. User Interface:

    The frontend of the web application allow customers to view available services and schedule appointments with hair stylists based on their availability. The frontend will also allow user, to book hair treatment. User can read hairtreatment blogs as well if user want. For using our services customers has to login first.
  2. Load Balancer:

    The load balancer distribute incoming traffic evenly across multiple servers, ensuring the high availability of the application. In this project we used AWS load balancer.
  3. Database:

    The database store all customer data, including personal information, all services including availability of that service and appointment history.The application used MongoDB database for storing all the data. For caching purpose we use Redish database.
  4. Amazon SES:

    The application use Amazon SES to send appointment confirmations and reminders to customers via email or SMS. The email or SMS content will be created by the backend servers whenever customers book any service.
  5. Admin side:

    When a customer book any service the data will go to admin page. Admin can see all details about the customers. An admin can manage availability of any service.

Functional requirements

  1. User Registration:

    The system should allow customers to create a new account and store their personal information such as name, email, and phone number.
  2. Scheduling:

    The system should allow customers to schedule an appointment with a hair stylist based on the stylist's availability and the customer's preferred date and time.
  3. Stylist Availability:

    The system should allow hair stylists to set their availability based on their working hours.
  4. Appointment Management:

    The system should allow customers to view their upcoming appointments and cancel or reschedule an existing appointment.
  5. Confirmation and Reminders:

    The system should send appointment confirmation and reminder messages to customers via email or SMS.
  6. Service Selection:

    The system should allow customers to select a hair styling service from a list of available services.
  7. Payment:

    The system should allow customers to make payment for their appointment online or in-person at the salon.
  8. Admin Panel:

    The system should have an admin panel that allows the salon staff to manage the scheduling, view customer information, and manage stylist availability.
  9. Feedback:

    The system should allow customers to leave feedback about their appointment experience and rate the hair stylist's service.

Non-functional requirements

  1. Usability:

    The system should be easy to use, with a clear and simple user interface that is accessible on different devices such as desktops, laptops, and mobile phones.
  2. Performance:

    The system should be responsive and fast, with quick loading times and minimal downtime.
  3. Scalability:

    The system should be designed to handle a large number of users and appointments, and be able to scale as the user base grows.
  4. Security:

    The system should be secure, with proper authentication and authorization mechanisms to protect customer information and prevent unauthorized access. Customers personal details like password should be hashed before storing into the database. For storing token cookies can be secure option.
  5. Availability:

    The system should be highly available and reliable, with a backup and disaster recovery plan in place to ensure business continuity.
  6. Compatibility:

    The system should be compatible with different browsers and operating systems, ensuring a consistent user experience across different devices.
  7. Localization:

    The system should support multiple languages and regions, it will allow our system to connect better to our customers.
  8. Maintainability:

    The system should be easy to maintain and update, with proper documentation .

High level diagram of working flow

High Level Diagram drawio

Home page

image

Women page

image

Mens page

image