Skip to content

bmo1177/servicedz_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛠️ Smart Local Platform for Service Providers

Status Backend Frontend Web Frontend Mobile Database

A digital marketplace designed to centralize and formalize the local service sector in the Tiaret region (Algeria). By connecting service providers (artisans, repairmen, home teachers, etc.) with clients, this platform ensures transparency, builds trust through verified reviews, and integrates intelligent recommendation mechanisms.

📸 Screenshots

Home Page Services Login
Home Services Login

📖 Table of Contents


🎯 Project Objectives

  1. Centralization: Provide a unified directory of local service providers in the Tiaret region.
  2. Trust: Establish a rating and review system with verified profiles to ensure transparency.
  3. Accessibility: Offer cross-platform access via Web (React) and Mobile (React Native).
  4. Intelligence: Leverage AI-powered recommendation systems to personalize the user experience.
  5. Real-time Communication: Enable seamless real-time chat between clients and providers.
  6. Administration: Comprehensive dashboards for user moderation and KPI tracking.

📚 Academic & Project Structure (Chapters)

This project is built collaboratively, doubling as both a functional software application and an academic thesis. To ensure rigorous tracking and cohesive documentation, the project follows a strict Chapter-based reporting structure.

Group 1 Documentation (Core/Auth)

The core architecture and authentication module developed by Group 1 is documented in three main files:

  • 📖 rapport_groupe1_chapitre1.md: General context, problem statement, objectives, and technology stack justifications for the Core module.
  • 📖 rapport_groupe1_chapitre2.md: System analysis, UML diagrams, and MERISE data modeling for the Authentication and Core architecture.
  • 📖 rapport_groupe1_chapitre3.md: Implementation overview, permissions/role mapping, and testing strategies for the Core module.

Group-Specific Deliverables (3 Chapters per Group)

The project is divided among 11 Groups. Each group is responsible for developing a specific feature module. In addition to delivering the code, each group must write 3 specific report chapters detailing their work. These files follow the naming convention rapport_groupeX_chapitreY.md:

  1. Chapter 1: Context & Dependencies (rapport_groupeX_chapitre1.md)

    • Details the group's specific objectives and role in the platform.
    • Explains the module's dependencies on other groups (e.g., Group 5 Chat depends on Group 1 Auth).
    • Outlines the technologies and tools used specifically for their features.
  2. Chapter 2: Analysis & Design (rapport_groupeX_chapitre2.md)

    • Contains UML Use Case diagrams, Sequence diagrams, and Activity diagrams for their module.
    • Focuses on the MERISE Conceptual and Logical Data Models (MCD/MLD) strictly related to the group's database tables.
  3. Chapter 3: Implementation & Testing (rapport_groupeX_chapitre3.md)

    • Showcases the code implementation, algorithms, and business logic.
    • Lists and explains the API endpoints created by the group.
    • Details the tests performed, integration processes, and the security measures/permissions implemented.

🧩 Modular Approach (The 11 Groups)

To parallelize development and ensure a clean separation of concerns, the 11 collaborative modules are divided as follows:

Group Module Responsibilities
G1: Core/Auth Custom user models, JWT authentication, Role-based control (Admin, Customer, Contractor).
G2: Providers In-depth provider profiles, portfolio uploads, and availability management.
G3: Clients Client profiles, exact service requests, order workflows, and favoriting features.
G4: Reviews Rating system (stars, comments), statistics generation, and content moderation.
G5: Real-Time Chat 1-on-1 WebSocket/Polling chat system between clients and providers.
G6: Artificial Intelligence AI-driven user recommendations and review sentiment analysis.
G7: Search Advanced location-based (PostGIS) and criteria-based search filtering.
G8: Orders Complete reservation, multi-state booking lifecycle tracking, and logic.
G9: Notifications Push notifications and email alerts system triggered by system events.
G10: Admin Dashboard Moderation interface, performance KPIs, and system oversight.
G11: Geolocation Spatial queries, wilayas/communes mapping, specifically tuned for Algeria.

🏗️ System Architecture

The project follows a decoupled architecture, clearly separating backend logic from client presentations.

graph TB
    subgraph "Clients (Presentation Layer)"
        WEB["React Web App (Vite)"]
        MOBILE["React Native Mobile App (Expo)"]
    end

    subgraph "Server (Business Logic Layer)"
        API["REST API (Django REST Framework)"]
        AUTH["Authentication (SimpleJWT)"]
        WS["WebSocket (Django Channels)"]
    end

    subgraph "Data (Persistence Layer)"
        DB["Database (PostgreSQL + PostGIS)"]
        CACHE["Cache Message Broker (Redis)"]
    end

    WEB -->|"HTTP/HTTPS"| API
    MOBILE -->|"HTTP/HTTPS"| API
    WEB -->|"WebSocket"| WS
    MOBILE -->|"WebSocket"| WS
    API --> AUTH
    API --> DB
    WS --> CACHE
    API --> CACHE
Loading

💻 Technology Stack

Layer Technology Details
Backend Framework Django (5.x) Robust ORM, built-in Admin panel, built-in security.
Rest API DRF (3.15+) Powerful serializers, viewsets, and permissions.
Database PostgreSQL (16+) Fully ACID compliant, PostGIS for geospatial queries.
Web Frontend React (18+) + Vite Reusable components architecture, lightning-fast HMR builds.
Mobile Frontend React Native + Expo Shared logic, native rendering (iOS/Android), OTA updates.
Real-Time Channels + Redis WebSockets for messaging and live notifications.

🚀 Getting Started (Local Setup)

Prerequisites

  • Python 3.10+
  • Node.js 18+ & npm/yarn/pnpm
  • PostgreSQL 16+ & PostGIS extension
  • Redis (for Channels/WebSockets)

1. Backend Setup

# Setup Virtual Environment
python3 -m venv venv
source venv/bin/activate

# Install Dependencies
pip install -r requirements.txt

# Run migrations & server
python manage.py migrate
python manage.py runserver

2. Fast API Documentation

Once the server is running, the swagger documentation is available for all teams at: http://localhost:8000/api/docs/

3. Web Frontend Setup

cd frontend
npm install
npm run dev

4. Mobile App Setup

cd mobile-app
npm install
npx expo start

About

Test for creating a project for Services Providers, with documented reports and checklists

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors