Beauty shop management system
Overview: The Salon and Beauty Shop Appointment Management System is a web-based platform that I developed to streamline the scheduling process for beauty salons and their customers. The system offers a fully functional user interface for both shop owners and customers, allowing seamless appointment booking, service management, and customer interaction. The system includes features for managing shops, services, appointments, and automated email notifications.
Key Features:
User Roles and Dashboards:
Shop Owners can manage their shops, add services, view customer appointments, and update the status of appointments (confirm or cancel). They also have access to an appointments calendar to keep track of upcoming schedules.
Customers can view available salons, book appointments, and view their upcoming and past appointments on a personalized dashboard.
Appointment Management: Customers can easily book appointments by selecting a service and date. Both shop owners and customers can track the status of appointments, such as pending, confirmed, or canceled.
Service and Shop Management: Shop owners can add new shops, update existing shops, and manage a variety of services offered, including the price and duration. Shops can be approved by the admin before being listed on the customer-facing side.
Automated Email Reminders: An automated email notification system sends reminders to customers for their upcoming appointments using Flask-Mail and background scheduling with APScheduler.
Real-Time Appointment Calendar: The FullCalendar integration provides both shop owners and customers with a calendar view of their scheduled appointments, color-coded by status (e.g., confirmed, pending, canceled).
Admin Panel: An admin panel is available for approving shops, ensuring only verified businesses are listed on the platform.
Secure Login System: Includes secure authentication for both shop owners and customers, ensuring data privacy and role-based access to features.
Technologies Used: Frontend: HTML5, CSS3, JavaScript (including FullCalendar for real-time scheduling)
Backend: Python (Flask framework).
Database: MySQL for data storage and management.
Automated Emails: Flask-Mail for sending appointment remindersCloud.
Hosting: AWS for deployment, utilizing EC2 instances for the Flask application
CI/CD Pipeline: A fully automated Continuous Integration/Continuous Deployment (CI/CD) pipeline using Jenkins, Docker, and GitHub for version control, ensuring smooth updates and reliable deployment.
Development Experience: This project allowed me to dive deep into full-stack development, managing both frontend and backend elements. I gained hands-on experience with Flask for web development, SQL databases, and integrating a cloud-based solution using AWS. The appointment app also enhanced my understanding of creating real-time, dynamic user experiences, managing security protocols, and working with DevOps tools for deployment and scalability.