HandyPro: Multi-Service Marketplace Platform (README Content)
- Title and Overview HandyPro: Multi-Service Worker/Admin Management System 🛠️
This is a robust, Flask-based web application designed to act as a comprehensive service marketplace. It connects general users who require services with skilled service providers (Workers) across multiple categories (e.g., Plumbing, Carpentry, HVAC, etc.). The platform features secure multi-role access, an admin-controlled worker approval system, and a real-time communication module.
- Key Features Multi-Tiered Authentication: Implements a secure login/signup system for three distinct roles: Admin, Service Providers (Workers), and General Users.
Admin Governance Panel: A dedicated panel where the admin manages and approves new worker registrations, ensuring service quality and controlled onboarding.
Real-time Chat and Offer System: Users can initiate direct, real-time chats with specific workers, and negotiate service agreements using a dedicated pricing offer system.
Feedback & Rating System: Users submit ratings (1-5) and detailed reviews, which are displayed on the worker's profile for transparency.
Secure Data Management: Utilizes Firebase Realtime Database for data persistence (profiles, chats, feedback, offers) and Firebase Authentication.
Enhanced Security: Implements password hashing and verification using werkzeug.security for secure credential storage.
Automated Notifications: Integrates yagmail to send automatic email confirmations to workers upon account approval or rejection.
- Technologies Used Backend Framework: Python Flask (Core web application logic and routing).
Database & Services: Firebase Realtime Database, Firebase Authentication (Data persistence and user identity management).
Security: werkzeug.security (Password hashing and verification).
Email Service: yagmail (Automated account status notifications).
Frontend: HTML, CSS, JavaScript (User Interface and client-side interactivity).
- Setup and Installation Follow these steps to set up and run the project locally:
Clone the Repository: git clone [Your Repository URL Here]
Dependencies Install: Install Python packages like Flask, firebase-admin, werkzeug, and yagmail.
Firebase Configuration: Place the Firebase Admin SDK JSON credentials file in the project root directory and set environment variables.
Run Application: Execute python app.py.
- Demo Access Credentials (Admin) For demonstration purposes, the Admin login uses the following credentials:
Access Route: /admin_login
Email: admin@gmail.com
Password: 123456789