Skip to content

Latest commit

Β 

History

History
118 lines (83 loc) Β· 3.34 KB

File metadata and controls

118 lines (83 loc) Β· 3.34 KB

πŸ› οΈ Household Services Application V2

Modern Application Development - II | January 2025


🧩 Objective

Build a multi-role home services platform connecting customers, service professionals, and an admin. The app enables booking, managing, and tracking household services like plumbing, cleaning, AC repair, etc., through an interactive UI and secure backend.


🧰 Tech Stack

  • Frontend: VueJS (with optional CLI), Bootstrap
  • Backend: Flask (REST API)
  • Database: SQLite (strictly required)
  • Other Services: Redis + Celery (batch jobs), Google Chat/Webhooks (notifications), SMTP/email
  • Optional: ChartJS, HTML5 validation, Flask-Login/Security

πŸ‘₯ User Roles

1. Admin

  • Login (role-based, no registration)
  • Manage users and services
  • Approve or block service professionals
  • Create, update, or delete service types
  • View and export reports (CSV, email, etc.)

2. Service Professional

  • Register/login
  • View assigned service requests
  • Accept/reject services
  • Close completed tasks
  • Download monthly CSV report
  • Reviews impact visibility

3. Customer

  • Register/login
  • Search services by name or pincode
  • Request services and close them after completion
  • Provide ratings/reviews
  • Receive monthly usage reports

🧠 Core Features

  • πŸ” Role-Based Access Control (RBAC) via tokens or Flask sessions

  • πŸ—‚οΈ CRUD Operations on:

    • Services
    • Service Requests
    • User profiles
  • πŸ” Search System: Filter services by name, location, pin code

  • πŸ“ Reviews: Customer feedback after service completion

  • πŸ“€ Service Status Flow:
    requested β†’ assigned β†’ closed


πŸ” Background Tasks (via Celery & Redis)

  • πŸ“† Daily Reminders: Notify professionals about pending jobs via GChat/email/SMS
  • πŸ“ˆ Monthly Activity Reports:
    Auto-generate HTML report β†’ email to customer
  • πŸ“Š CSV Export:
    Admin-triggered async task to export service history of professionals

πŸ“¦ Database Schema (Simplified)

πŸ”Ή Service

  • service_id, name, base_price, time_required, description

πŸ”Ή Service Request

  • request_id, service_id, customer_id, professional_id, date_requested, status, remarks

πŸ”Ή Users Table (with roles)

  • user_id, username, password, role, experience, etc.

🎨 UI Highlights

  • Built with VueJS + Bootstrap
  • Responsive UI for mobile and desktop
  • Dashboard views for all roles
  • Smart search and filtering options
  • Optional: Dummy payment page (non-functional)

πŸ§ͺ Testing & Validation

  • βœ… Frontend form validation (HTML5 + JS)
  • βœ… Backend data validation (Flask API)
  • βœ… Cache optimization using Redis
  • βœ… Tested locally with SQLite, no cloud setup needed

πŸ“€ Submission Contents

  • πŸ“ backend/ - Flask APIs
  • πŸ“ frontend/ - VueJS App
  • πŸ—ƒοΈ database.db - SQLite
  • πŸ” celery_worker.py - Async tasks
  • πŸ“„ README.md, report.pdf, ER_diagram.png, api_docs.md
  • 🎬 demo_video_link.txt

🏁 Final Thoughts

The Household Services V2 app is a robust, scalable solution for real-world service aggregation. It supports multi-role workflows, scheduled background jobs, advanced user interaction, and modular design, all built using core web technologies.