Project Overview
The Salon Management System Using Python and Django is a web-based application designed to manage salon and spa operations, including appointments, customer records, services, staff activities, billing, memberships, and inventory. It supports single or multiple salon branches through a centralized platform.
The system provides four role-based panels: Admin, Receptionist, Stylist, and Customer. It includes online appointment booking, stylist recommendations, QR-based check-in, PDF invoice generation, loyalty points, inventory tracking, Excel reports, and database backup and restore.
Available Features
- Admin Panel: Manage branches, employees, service categories, services, packages, business settings, appointment records, reports, and database backups.
- Receptionist Panel: Book appointments for walk-in customers, register customers, manage schedules and check-ins, view the live customer queue, generate bills, and record payments.
- Stylist Panel: View daily appointments and calendar schedules, access customer history, record services performed, update appointment statuses, and review earnings and customer ratings.
- Customer Panel: Browse services and packages, book appointments, receive stylist recommendations, reschedule or cancel eligible appointments, download PDF invoices, and manage memberships, loyalty points, reviews, and waiting-list entries.
- Appointment Scheduling: Display available appointment slots using AJAX and check stylist shifts, breaks, leave, overlapping appointments, and customer booking conflicts.
- Stylist Recommendations: Recommend stylists using skills, availability, ratings, customer history, and preferred-stylist information.
- Waiting List: Allow customers to join a waiting list when suitable appointment slots are unavailable and notify matching entries when appointments change.
- Billing and Invoices: Generate invoices after completed appointments and provide downloadable PDF invoices.
- Payments and Discounts: Record cash, card, UPI, and other supported payment types; apply configured membership discounts, coupons, loyalty points, and taxes.
- Membership and Loyalty Management: Manage memberships, loyalty points, and related billing benefits.
- Inventory Management: Track stock movements, display low-stock alerts, manage purchase orders, record related expenses, and sell retail products through invoices.
- QR Check-In: Generate appointment QR codes for receptionist check-in using a camera or handheld scanner.
- Reminders: Support appointment reminders through application processing or a scheduled management command.
- Reports and Analytics: View database-driven dashboard statistics and export branch- and date-filtered reports to Excel.
- Multi-Branch Management: Manage multiple salon locations and restrict receptionist and stylist access to assigned branches.
- Database Backup and Restore: Manage database backups through the administrative settings.
Which Technologies Are Used in This Project?
- Programming Language: Python
- Framework: Django
- Database: SQLite
- Frontend: HTML, CSS, Bootstrap 5, JavaScript
- Charts: Chart.js
- Calendar: FullCalendar
- PDF Invoice Generation: ReportLab
- Appointment Updates: AJAX
More Details and Full Documentation
Visit the official UPDATEGADH project page for screenshots, complete project details, installation instructions, demo login credentials, and documentation information.
More Details and Full Documentation
Step 1: Install Python 3.10 or later and Visual Studio Code.
Step 2: Extract the project ZIP file and open the project directory in VS Code.
Step 3: Open the terminal and create a virtual environment
python -m venv venv
Step 4: Activate the virtual environment on Windows
venv\Scripts\activate
Step 5: Install the required dependencies
python -m pip install -r requirements.txt
Step 6: Create the environment configuration file
copy .env.example .env
Step 7: Apply database migrations
python manage.py migrate
Step 8: Check the project configuration
python manage.py check
Step 9: Run the automated tests
python manage.py test
Step 10: Initialize the first branch and administrator on a new, empty database
python manage.py setup_salon
Step 11: Optionally load sample records
python manage.py seed_demo
Step 12: Start the development server
python manage.py runserver
Step 13: Open the application
http://127.0.0.1:8000/
Stuck while running it? Chat with us on WhatsApp for free installation help.
No reviews yet. Be the first to review this project.