Skip to content

nitheesh1122/Service_Pro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ServicePro - Smart Household Service Management System

A comprehensive web application that connects house owners with local service providers (plumbers, electricians, cleaners, etc.) based on location and service requirements.

๐Ÿš€ Features

๐Ÿ‘ฅ User Roles

๐Ÿ  Home Owners (Users)

  • Register and login securely
  • Search for service providers by location (pincode) and service category
  • View provider profiles, ratings, and reviews
  • Book services with date/time selection
  • Cancel or modify bookings
  • Rate and review completed services
  • Real-time chat with service providers

๐Ÿง‘โ€๐Ÿ”ง Service Providers

  • Register and await admin approval
  • Set service categories and serviceable areas
  • Configure availability and pricing
  • Accept/reject booking requests
  • Update booking status (Pending โ†’ In-progress โ†’ Completed)
  • View earnings and job history
  • Chat with customers

๐Ÿง‘โ€๐Ÿ’ผ Admin

  • Secure admin login
  • Approve/reject service provider registrations
  • Manage service categories
  • Monitor platform usage and analytics
  • View feedback and ratings
  • Generate reports

๐Ÿ› ๏ธ Core Features

  • ๐Ÿ“ Location-Based Search: Find providers by pincode/zip code
  • ๐Ÿ“… Booking System: Schedule services with date/time selection
  • ๐Ÿ’ฌ Real-Time Chat: WebSocket-based messaging system
  • โญ Rating & Review System: Rate completed services
  • ๐Ÿ“Š Analytics Dashboard: Admin monitoring and reporting
  • ๐Ÿ“ฑ Responsive Design: Mobile-friendly interface
  • ๐Ÿ” Secure Authentication: Session-based login system

๐Ÿ› ๏ธ Technology Stack

  • Backend: Python Flask
  • Database: MySQL
  • Frontend: HTML5, CSS3, JavaScript, Bootstrap 5
  • Real-time Communication: Flask-SocketIO
  • Authentication: Flask-Login
  • ORM: SQLAlchemy

๐Ÿ“‹ Prerequisites

  • Python 3.8+
  • MySQL 8.0+
  • pip (Python package manager)

๐Ÿš€ Installation & Setup

1. Clone the Repository

git clone <repository-url>
cd ServicePro

2. Create Virtual Environment

python -m venv venv

# On Windows
venv\Scripts\activate

# On macOS/Linux
source venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

4. Database Setup

Option A: Using MySQL Command Line

mysql -u root -p < database_setup.sql

Option B: Manual Setup

  1. Create MySQL database:
CREATE DATABASE servicepro_db;
  1. Update database configuration in app.py:
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/servicepro_db'

5. Environment Configuration

Create a .env file in the root directory:

SECRET_KEY=your-super-secret-key-change-this-in-production
DATABASE_URL=mysql+pymysql://username:password@localhost/servicepro_db
FLASK_ENV=development
FLASK_DEBUG=True

6. Run the Application

python app.py

The application will be available at http://localhost:5000

๐Ÿ‘ค Default Login Credentials

Admin Account

๐Ÿ“ Project Structure

ServicePro/
โ”œโ”€โ”€ app.py                 # Main Flask application
โ”œโ”€โ”€ config.py             # Configuration settings
โ”œโ”€โ”€ requirements.txt      # Python dependencies
โ”œโ”€โ”€ database_setup.sql    # Database setup script
โ”œโ”€โ”€ README.md            # Project documentation
โ”œโ”€โ”€ templates/           # HTML templates
โ”‚   โ”œโ”€โ”€ base.html       # Base template
โ”‚   โ”œโ”€โ”€ index.html      # Homepage
โ”‚   โ”œโ”€โ”€ login.html      # Login page
โ”‚   โ”œโ”€โ”€ register.html   # Registration page
โ”‚   โ”œโ”€โ”€ user_dashboard.html      # User dashboard
โ”‚   โ”œโ”€โ”€ provider_dashboard.html  # Provider dashboard
โ”‚   โ”œโ”€โ”€ admin_dashboard.html     # Admin dashboard
โ”‚   โ”œโ”€โ”€ search_results.html     # Search results
โ”‚   โ”œโ”€โ”€ book_service.html       # Booking page
โ”‚   โ””โ”€โ”€ chat.html              # Chat interface
โ””โ”€โ”€ static/             # Static files (CSS, JS, images)

๐Ÿ—„๏ธ Database Schema

Core Tables

  1. user - User accounts (homeowners, providers, admin)
  2. service_provider - Provider-specific information
  3. service - Available service categories
  4. booking - Service booking records
  5. review - User reviews and ratings
  6. message - Chat messages

Key Relationships

  • Users can be homeowners, providers, or admin
  • Service providers have additional profile information
  • Bookings connect users with providers for specific services
  • Reviews are linked to completed bookings
  • Messages enable communication between users

๐ŸŽฏ Usage Guide

For Homeowners

  1. Register as a user
  2. Search for service providers by location and service type
  3. Book services with preferred date/time
  4. Chat with providers for details
  5. Rate completed services

For Service Providers

  1. Register as a service provider
  2. Wait for admin approval
  3. Complete profile with services and areas
  4. Accept booking requests
  5. Update job status as work progresses

For Admins

  1. Login with admin credentials
  2. Review pending provider applications
  3. Approve/Reject provider registrations
  4. Monitor platform activity
  5. Manage service categories

๐Ÿ”ง Configuration

Database Configuration

Update the database connection string in app.py:

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/servicepro_db'

Email Configuration (Future Enhancement)

Add email settings to .env:

MAIL_SERVER=smtp.gmail.com
MAIL_PORT=587
MAIL_USE_TLS=True
MAIL_USERNAME=your-email@gmail.com
MAIL_PASSWORD=your-app-password

๐Ÿš€ Deployment

Production Deployment

  1. Set FLASK_ENV=production
  2. Use a production WSGI server (Gunicorn, uWSGI)
  3. Configure a reverse proxy (Nginx)
  4. Set up SSL certificates
  5. Use a production database

Docker Deployment (Future Enhancement)

FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 5000
CMD ["python", "app.py"]

๐Ÿ”ฎ Future Enhancements

  • ๐Ÿ“ Google Maps Integration: Location-based provider matching
  • ๐Ÿ’ณ Payment Integration: Online payment processing
  • ๐Ÿ“ฑ Mobile App: Native mobile applications
  • ๐Ÿค– AI Recommendations: Smart provider suggestions
  • ๐Ÿ”” Push Notifications: Real-time alerts
  • ๐Ÿ“Š Advanced Analytics: Detailed reporting and insights
  • ๐ŸŒ Multi-language Support: Internationalization
  • ๐Ÿ“„ Invoice Generation: Automatic invoice creation

๐Ÿ› Troubleshooting

Common Issues

  1. Database Connection Error

    • Verify MySQL is running
    • Check database credentials
    • Ensure database exists
  2. Import Errors

    • Activate virtual environment
    • Install all requirements: pip install -r requirements.txt
  3. Socket.IO Issues

    • Check if port 5000 is available
    • Verify WebSocket support in browser

Logs

Check application logs for detailed error information:

python app.py 2>&1 | tee app.log

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

๐Ÿ“ž Support

For support and questions:


ServicePro - Connecting homeowners with trusted service providers since 2024! ๐Ÿ ๐Ÿ”ง

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors