# priyal63/worknest architecture

> Architecture diagram of the GitHub repository priyal63/worknest, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/priyal63/worknest
- Repository: https://github.com/priyal63/worknest

## Overview

Worknest is a home-services marketplace connecting clients with workers, with administrative tools for worker verification and platform oversight. The client journey is worker discovery (including map and detail views), booking request, worker handling and completion, then client rating; user, worker, and admin pages expose additional account, history, messaging, and management functions. Django routes API requests to a shared views module, which operates on user, booking, and notification models through serializers. The frontend source and most view implementations were not sampled, so UI-to-endpoint wiring and unsampled feature-specific call paths are not asserted.

Main entry points: [`worknest_backend/backend/api/views.py`](https://github.com/priyal63/worknest/blob/main/worknest_backend/backend/api/views.py) (API operations), [`frontend_admin/admin_dashboard.html`](https://github.com/priyal63/worknest/blob/main/frontend_admin/admin_dashboard.html) (Admin dashboard), [`worknest_backend/backend/api/serializers.py`](https://github.com/priyal63/worknest/blob/main/worknest_backend/backend/api/serializers.py) (API serializers), [`frontend_worker/worker_dashboard.html`](https://github.com/priyal63/worknest/blob/main/frontend_worker/worker_dashboard.html) (Worker portal)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Client experience"]
  node_client_ui["Client portal"]
  node_discovery["Worker discovery<br/>[map.html]"]
  node_worker_detail["Worker details<br/>[worker_detail.html]"]
  node_booking_ui["Booking and history"]
  node_client_feedback["Client messages<br/>[user_messages.html]"]
end

subgraph group_worker["Worker experience"]
  node_worker_ui["Worker portal"]
  node_worker_jobs["Worker requests"]
  node_worker_history["Worker history"]
  node_worker_messages["Worker messages"]
end

subgraph group_admin["Admin operations"]
  node_admin_ui["Admin dashboard"]
  node_admin_verify["Worker verification<br/>[admin_verify.html]"]
  node_admin_fraud["Fraud review<br/>[admin_fraud.html]"]
  node_admin_management["Users and bookings<br/>[admin_users.html]"]
end

subgraph group_backend["Backend services"]
  node_api_routes["API routing<br/>[urls.py]"]
  node_api_views["API operations<br/>[views.py]"]
  node_serializers["API serializers<br/>[serializers.py]"]
end

subgraph group_data["Domain data"]
  node_user_data[("User profiles<br/>[models.py]")]
  node_booking_data[("Bookings<br/>[models.py]")]
  node_notification_data[("Notifications<br/>[models.py]")]
end

node_client_actor(("Client"))
node_worker_actor(("Worker"))
node_admin_actor(("Administrator"))

node_client_actor -->|"uses"| node_client_ui
node_client_ui -->|"browses"| node_discovery
node_discovery -->|"opens profile"| node_worker_detail
node_worker_detail -->|"requests service"| node_booking_ui
node_client_actor -->|"uses"| node_client_feedback
node_worker_actor -->|"uses"| node_worker_ui
node_worker_ui -->|"handles requests"| node_worker_jobs
node_worker_ui -->|"reviews jobs"| node_worker_history
node_worker_actor -->|"uses"| node_worker_messages
node_admin_actor -->|"uses"| node_admin_ui
node_admin_ui -->|"reviews workers"| node_admin_verify
node_admin_ui -->|"reviews fraud"| node_admin_fraud
node_admin_ui -->|"manages records"| node_admin_management
node_api_routes -->|"dispatches"| node_api_views
node_api_views -->|"serializes data"| node_serializers
node_api_views -->|"reads and writes"| node_user_data
node_api_views -->|"reads and writes"| node_booking_data
node_api_views -->|"reads and writes"| node_notification_data
node_serializers -->|"serializes"| node_user_data
node_serializers -->|"serializes"| node_booking_data
node_serializers -->|"serializes"| node_notification_data

click node_client_ui "https://github.com/priyal63/worknest/tree/main/frontend_user"
click node_discovery "https://github.com/priyal63/worknest/blob/main/frontend_user/map.html"
click node_worker_detail "https://github.com/priyal63/worknest/blob/main/frontend_user/worker_detail.html"
click node_booking_ui "https://github.com/priyal63/worknest/blob/main/frontend_user/booking_request.html"
click node_client_feedback "https://github.com/priyal63/worknest/blob/main/frontend_user/user_messages.html"
click node_worker_ui "https://github.com/priyal63/worknest/blob/main/frontend_worker/worker_dashboard.html"
click node_worker_jobs "https://github.com/priyal63/worknest/blob/main/frontend_worker/worker_requests.html"
click node_worker_history "https://github.com/priyal63/worknest/blob/main/frontend_worker/worker_booking_history.html"
click node_worker_messages "https://github.com/priyal63/worknest/blob/main/frontend_worker/worker_messages.html"
click node_admin_ui "https://github.com/priyal63/worknest/blob/main/frontend_admin/admin_dashboard.html"
click node_admin_verify "https://github.com/priyal63/worknest/blob/main/frontend_admin/admin_verify.html"
click node_admin_fraud "https://github.com/priyal63/worknest/blob/main/frontend_admin/admin_fraud.html"
click node_admin_management "https://github.com/priyal63/worknest/blob/main/frontend_admin/admin_users.html"
click node_api_routes "https://github.com/priyal63/worknest/blob/main/worknest_backend/backend/api/urls.py"
click node_api_views "https://github.com/priyal63/worknest/blob/main/worknest_backend/backend/api/views.py"
click node_serializers "https://github.com/priyal63/worknest/blob/main/worknest_backend/backend/api/serializers.py"
click node_user_data "https://github.com/priyal63/worknest/blob/main/worknest_backend/backend/api/models.py"
click node_booking_data "https://github.com/priyal63/worknest/blob/main/worknest_backend/backend/api/models.py"
click node_notification_data "https://github.com/priyal63/worknest/blob/main/worknest_backend/backend/api/models.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_client_ui,node_discovery,node_worker_detail,node_booking_ui,node_client_feedback,node_client_actor toneBlue
class node_worker_ui,node_worker_jobs,node_worker_history,node_worker_messages toneAmber
class node_admin_ui,node_admin_verify,node_admin_fraud,node_admin_management toneMint
class node_api_routes,node_api_views,node_serializers,node_worker_actor toneRose
class node_user_data,node_booking_data,node_notification_data,node_admin_actor toneIndigo
```

## Components

### Client experience

- [Client portal](https://github.com/priyal63/worknest/tree/main/frontend_user): `frontend_user`
- [Worker discovery](https://github.com/priyal63/worknest/blob/main/frontend_user/map.html): `frontend_user/map.html`
- [Worker details](https://github.com/priyal63/worknest/blob/main/frontend_user/worker_detail.html): `frontend_user/worker_detail.html`
- [Booking and history](https://github.com/priyal63/worknest/blob/main/frontend_user/booking_request.html): `frontend_user/booking_request.html`
- [Client messages](https://github.com/priyal63/worknest/blob/main/frontend_user/user_messages.html): `frontend_user/user_messages.html`

### Worker experience

- [Worker portal](https://github.com/priyal63/worknest/blob/main/frontend_worker/worker_dashboard.html): `frontend_worker/worker_dashboard.html`
- [Worker requests](https://github.com/priyal63/worknest/blob/main/frontend_worker/worker_requests.html): `frontend_worker/worker_requests.html`
- [Worker history](https://github.com/priyal63/worknest/blob/main/frontend_worker/worker_booking_history.html): `frontend_worker/worker_booking_history.html`
- [Worker messages](https://github.com/priyal63/worknest/blob/main/frontend_worker/worker_messages.html): `frontend_worker/worker_messages.html`

### Admin operations

- [Admin dashboard](https://github.com/priyal63/worknest/blob/main/frontend_admin/admin_dashboard.html): `frontend_admin/admin_dashboard.html`
- [Worker verification](https://github.com/priyal63/worknest/blob/main/frontend_admin/admin_verify.html): `frontend_admin/admin_verify.html`
- [Fraud review](https://github.com/priyal63/worknest/blob/main/frontend_admin/admin_fraud.html): `frontend_admin/admin_fraud.html`
- [Users and bookings](https://github.com/priyal63/worknest/blob/main/frontend_admin/admin_users.html): `frontend_admin/admin_users.html`

### Backend services

- [API routing](https://github.com/priyal63/worknest/blob/main/worknest_backend/backend/api/urls.py): `worknest_backend/backend/api/urls.py`
- [API operations](https://github.com/priyal63/worknest/blob/main/worknest_backend/backend/api/views.py): `worknest_backend/backend/api/views.py`
- [API serializers](https://github.com/priyal63/worknest/blob/main/worknest_backend/backend/api/serializers.py): `worknest_backend/backend/api/serializers.py`

### Domain data

- [User profiles](https://github.com/priyal63/worknest/blob/main/worknest_backend/backend/api/models.py): `worknest_backend/backend/api/models.py`
- [Bookings](https://github.com/priyal63/worknest/blob/main/worknest_backend/backend/api/models.py): `worknest_backend/backend/api/models.py`
- [Notifications](https://github.com/priyal63/worknest/blob/main/worknest_backend/backend/api/models.py): `worknest_backend/backend/api/models.py`

### Other components

- **Client**
- **Worker**
- **Administrator**

## Connections

- Client → Client portal: uses
- Client portal → Worker discovery: browses
- Worker discovery → Worker details: opens profile
- Worker details → Booking and history: requests service
- Client → Client messages: uses
- Worker → Worker portal: uses
- Worker portal → Worker requests: handles requests
- Worker portal → Worker history: reviews jobs
- Worker → Worker messages: uses
- Administrator → Admin dashboard: uses
- Admin dashboard → Worker verification: reviews workers
- Admin dashboard → Fraud review: reviews fraud
- Admin dashboard → Users and bookings: manages records
- API routing → API operations: dispatches
- API operations → API serializers: serializes data
- API operations → User profiles: reads and writes
- API operations → Bookings: reads and writes
- API operations → Notifications: reads and writes
- API serializers → User profiles: serializes
- API serializers → Bookings: serializes
- API serializers → Notifications: serializes
