Skip to content

mithildabhi/Grooming_service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

109 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Salon Booking App - StyleX πŸ’ˆβœ¨

A complete salon booking mobile application built with Flutter and Django REST Framework. this project feature an AI-powered chatbot, ML-based hairstyle recommendations and real-time booking managment system for both users and salon admins.

πŸ“± Overview

StyleX is modern salon booking platform that connects customers with salons in their area. The app makes it easy for users to browse salons, book appointments, get AI-powered style suggestions and manage they're bookings all in one place. For salon owners, it provides a powerful admin panel to manage services staff and track revenue.

✨ Key Features

For Users πŸ‘€

  • Browse Salons: Discover salons near you with location-based search and filtering
  • Smart Booking System: Book appointments with preferred stylists at convienient times
  • AI Chatbot Assistant: Get instant answers and recommendations through intelligent chat
  • ML Hairstyle Suggestions: Upload your photo and get personalized hairstyle recommedations using machine learning
  • Reviews & Ratings: Read reviews and rate your experience after each visit
  • Real-time Notifications: Receive instant updates about booking status via Firebase Cloud Messaging
  • Payment Integration: Secure in-app payment processing for bookings
  • Profile Management: Manage your preferences bookings history and favorite salons

For Salon Admins πŸͺ

  • Dashboard Analytics: View comprehensive insights on revenue bookings and performance
  • Service Management: Add update and remove services with pricing and duration
  • Staff Management: Manage stylist profiles schedules and availability
  • Booking Management: View approve and manage all customer bookings
  • Revenue Tracking: Monitor daily weekly and monthly revenue with visual charts
  • Customer Insights: Access customer data reviews and booking patterns
  • AI Chatbot for Admins: Special admin chatbot for business analytics and staff management

πŸ› οΈ Tech Stack

Mobile App (Frontend)

  • Flutter - Cross-platform mobile framework
  • GetX - State management routing and dependency injection
  • Firebase:
    • Firebase Auth - User authentication
    • Firebase Messaging - Push notifications
  • http - API integration
  • fl_chart - Beautiful charts for analytics
  • image_picker - Camera and gallery access
  • geolocator - Location services
  • GlassMotion Navbar - Modern glassmorphic navigation

Backend (API)

  • Django 4.x - Web framework
  • Django REST Framework - RESTful API
  • SQLite - Database (easily switchable to PostgreSQL)
  • Firebase Admin SDK - Push notifications and auth verification
  • Python ML Libraries - For hairstyle analysis features
  • Gemini AI Integration - Powers the intelligent chatbot

πŸ“‚ Project Structure

SALOON APP/
β”‚
β”œβ”€β”€ salon_booking/              # Flutter Mobile Application
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”œβ”€β”€ controllers/        # GetX Controllers (State Management)
β”‚   β”‚   β”œβ”€β”€ models/             # Data models
β”‚   β”‚   β”œβ”€β”€ views/              # UI Screens
β”‚   β”‚   β”‚   β”œβ”€β”€ admin/          # Admin dashboard screens
β”‚   β”‚   β”‚   └── user/           # User-facing screens
β”‚   β”‚   β”œβ”€β”€ widgets/            # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ services/           # API services
β”‚   β”‚   β”œβ”€β”€ routes/             # App navigation
β”‚   β”‚   └── theme/              # App theming
β”‚   β”œβ”€β”€ android/                # Android-specific files
β”‚   β”œβ”€β”€ ios/                    # iOS-specific files
β”‚   └── pubspec.yaml            # Flutter dependencies
β”‚
└── backend/                    # Django REST API
    β”œβ”€β”€ accounts/               # User authentication & profiles
    β”œβ”€β”€ bookings/               # Booking management
    β”œβ”€β”€ salons/                 # Salon information
    β”œβ”€β”€ services/               # Salon services
    β”œβ”€β”€ staff/                  # Staff/stylist management
    β”œβ”€β”€ reviews/                # Reviews and ratings
    β”œβ”€β”€ chatbot/                # AI chatbot logic
    β”œβ”€β”€ hairstyle_ml/           # ML hairstyle analyzer
    β”œβ”€β”€ firebase/               # Firebase integration
    β”œβ”€β”€ api/                    # API endpoints
    └── backend/                # Django settings

πŸš€ Getting Started

Prerequisites

Before you begin make sure you have these installed:

  • Flutter SDK (3.9.2 or higher)
  • Dart SDK
  • Python 3.8+
  • pip (Python package manager)
  • Android Studio or Xcode (for mobile development)
  • Firebase project setup

Backend Setup

  1. Navigate to backend directory:
cd backend
  1. Create and activate virtual enviroment:
python -m venv venv
venv\Scripts\activate  # On Windows
source venv/bin/activate  # On macOS/Linux
  1. Install dependencies:
pip install -r requirements.txt
  1. Setup environment variables: Create a .env file in backend/ with:
FIREBASE_CREDENTIALS_PATH=path/to/serviceAccountKey.json
GEMINI_API_KEY=your_gemini_api_key
SECRET_KEY=your_django_secret_key
  1. Run migrations:
python manage.py makemigrations
python manage.py migrate
  1. Create superuser (admin):
python manage.py createsuperuser
  1. Start development server:
python manage.py runserver

The API should now be running at http://localhost:8000

Mobile App Setup

  1. Navigate to Flutter directory:
cd salon_booking
  1. Install dependencies:
flutter pub get
  1. Setup Firebase:
  • Add google-services.json to android/app/ (for Android)
  • Add GoogleService-Info.plist to ios/Runner/ (for iOS)
  • Update lib/firebase_options.dart with your Firebase config
  1. Update API endpoint: In your services files update the base URL to point to your backend server

  2. Run the app:

flutter clean
flutter pub get
flutter run

πŸ”§ Configuration

Firebase Setup

  1. Create a Firebase project at https://console.firebase.google.com
  2. Enable authentication (Email/Password)
  3. Enable Cloud Messaging
  4. Download configuration files for both Android and iOS
  5. Update backend with Firebase Admin SDK credentials

API Configuration

Update the base URL in Flutter app's service files:

static const String baseUrl = 'http://YOUR_IP:8000/api';

πŸ“Έ Features in Detail

AI Chatbot

The chatbot uses Google's Gemini AI to provide intelligent responses. Users can ask questions about:

  • Salon services and pricing
  • Booking availability
  • Style recommendations
  • General salon information

Admins get additional chatbot features for:

  • Business analytics queries
  • Staff performance insights
  • Revenue analysis

ML Hairstyle Analyzer

Upload a photo and our ML model analyzes:

  • Face shape detection
  • Skin tone analysis
  • Personalized hairstyle suggestions
  • Style compatibility scores

Real-time Notifications

Firebase Cloud Messaging provides instant updates for:

  • Booking confirmations
  • Appointment reminders
  • Status changes
  • Special offers

🎨 Design Features

The app uses modern UI/UX principles including:

  • Glassmorphism effects
  • Smooth animations and transitions
  • Dark mode support
  • Responsive layouts
  • Custom themed components

πŸ§ͺ Testing

Backend Tests

cd backend
python manage.py test

Flutter Tests

cd salon_booking
flutter test

πŸ“± Building for Production

Android APK

flutter build apk --release

Android App Bundle

flutter build appbundle --release

iOS

Majorly not focused on the IOS

flutter build ios --release

πŸ” Security Features

  • JWT-based authentication
  • Firebase Auth integration
  • Secure API endpoints
  • Input validation and sanitization
  • HTTPS ready

🀝 Contributing

Contributions are welcomed! Please follow these steps:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

Mithil Dabhi and Mann Dangrechiya😁

πŸ‘¨πŸ’» Developers

Built with passion by Mithil Dabhi and Mann Dangrechiya

πŸ“§ Contact

For questions or support, please reach out through:

πŸ™ Acknowledgments

  • Flutter team for the amazing framework
  • Django REST Framework community
  • Firebase for backend services
  • Google Gemini AI team
  • All open-source contributors whos libraries made this possible

Note: This project was built as a comprehensive solution for salon managment and customer booking. Feel free to customize it for your specific needs!

πŸ› Known Issues

  • Payment gateway integration is in beta
  • iOS push notifications may require additional setup
  • ML model accuracy improves with more training data

πŸ—ΊοΈ Roadmap

  • Multi-language support
  • Advanced analytics dashboard
  • Loyalty program integration
  • Social media sharing
  • Video consultations
  • Advanced calendar managment
  • Integration with popular payment gateways
  • Web admin panel

⚑ Performance

The app is optimized for:

  • Fast loading times
  • Smooth animations (60 FPS)
  • Efficient state managment
  • Minimal battery consumption
  • Low memory footprint

πŸ“Š API Endpoints

Some key API endpoints include:

Authentication

  • POST /api/auth/register/ - User registration
  • POST /api/auth/login/ - User login
  • POST /api/auth/logout/ - User logout

Bookings

  • GET /api/bookings/ - List bookings
  • POST /api/bookings/create/ - Create booking
  • PUT /api/bookings/{id}/ - Update booking

Salons

  • GET /api/salons/ - List salons
  • GET /api/salons/{id}/ - Salon details

Chatbot

  • POST /api/chatbot/user/ - User chatbot
  • POST /api/chatbot/admin/ - Admin chatbot

ML Features

  • POST /api/hairstyle/analyze/ - Analyze photo for hairstyle

For complete API documentation, visit /api/docs/ when server is running.


Made with ❀️ using Flutter and Django

About

A complete salon booking mobile application built with Flutter and Django REST Framework. this project feature an AI-powered chatbot, ML-based hairstyle recommendations and real-time booking managment system for both users and salon admins.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors