# ddpldeveloperahul/tutoron-india architecture

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

- Interactive diagram: https://gitdiagram.com/ddpldeveloperahul/tutoron-india
- Repository: https://github.com/ddpldeveloperahul/tutoron-india

## Overview

TutorOn India is a Django REST backend for a student–teacher marketplace and coaching platform; it does not host live classes. Students and teachers use the API to register, discover courses, enroll, and access learning content, with teacher verification and admin-mediated contact unlocking protecting the marketplace. The README also describes messaging, reviews, reports, blocks, payments, dashboards, and scheduled reminders. The graph reflects those documented capabilities; unsampled subsystem details are represented only at the views/models level, and the configured database is SQLite.

Main entry points: [`study/views.py`](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py) (API workflows), [`study/models.py`](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/models.py) (Marketplace records), [`study/tasks.py`](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/tasks.py) (Background tasks), [`my_learning_project/celery.py`](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/my_learning_project/celery.py) (Celery runtime)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_api["API and identity"]
  node_api_routes["API routing<br/>[urls.py]"]
  node_request_handlers["API workflows<br/>[views.py]"]
  node_validation["Validation and responses<br/>[serializers.py]"]
  node_identity["Accounts and profiles<br/>[models.py]"]
end

subgraph group_learning["Marketplace and learning"]
  node_teacher_discovery["Teacher discovery<br/>[views.py]"]
  node_teacher_verification["Teacher verification<br/>[views.py]"]
  node_batches_enrollment["Batches and enrollment<br/>[views.py]"]
  node_classes_attendance["Classes and attendance<br/>[views.py]"]
  node_materials_bookmarks["Materials and bookmarks<br/>[views.py]"]
end

subgraph group_trust["Trust and communication"]
  node_connections_privacy["Connections and contact<br/>[views.py]"]
  node_messaging_blocks["Messaging and blocks<br/>[views.py]"]
  node_reviews_reports["Reviews and reports<br/>[views.py]"]
  node_notifications["Notifications<br/>[views.py]"]
end

subgraph group_operations["Platform operations"]
  node_admin_tools["Admin operations<br/>[views.py]"]
  node_domain_models[("Marketplace records<br/>[models.py]")]
  node_celery_schedule["Reminder schedule<br/>[settings.py]"]
  node_background_tasks["Background tasks<br/>[tasks.py]"]
  node_celery_app["Celery runtime<br/>[celery.py]"]
end

node_students_teachers(("Students and teachers"))
node_admins(("Administrators"))
node_redis["Redis broker"]
node_email["Email delivery"]

node_students_teachers -->|"submit requests"| node_api_routes
node_admins -->|"submit requests"| node_api_routes
node_api_routes -->|"dispatches"| node_request_handlers
node_request_handlers -->|"validates and serializes"| node_validation
node_request_handlers -->|"registers and reads"| node_identity
node_request_handlers -->|"handles discovery"| node_teacher_discovery
node_request_handlers -->|"handles verification"| node_teacher_verification
node_request_handlers -->|"handles enrollment"| node_batches_enrollment
node_request_handlers -->|"handles class access"| node_classes_attendance
node_request_handlers -->|"handles materials"| node_materials_bookmarks
node_request_handlers -->|"handles requests"| node_connections_privacy
node_request_handlers -->|"handles conversations"| node_messaging_blocks
node_request_handlers -->|"handles submissions"| node_reviews_reports
node_request_handlers -->|"handles notifications"| node_notifications
node_request_handlers -->|"handles admin work"| node_admin_tools
node_teacher_discovery -->|"queries records"| node_domain_models
node_teacher_verification -->|"updates verification"| node_domain_models
node_batches_enrollment -->|"reads and writes"| node_domain_models
node_classes_attendance -->|"reads and writes"| node_domain_models
node_materials_bookmarks -->|"reads and writes"| node_domain_models
node_connections_privacy -->|"checks and unlocks"| node_domain_models
node_messaging_blocks -->|"reads and writes"| node_domain_models
node_reviews_reports -->|"stores submissions"| node_domain_models
node_notifications -->|"stores notifications"| node_domain_models
node_admin_tools -->|"queries and updates"| node_domain_models
node_celery_schedule -->|"configures schedule"| node_celery_app
node_celery_app -->|"discovers tasks"| node_background_tasks
node_celery_app -->|"uses broker"| node_redis
node_background_tasks -->|"requests reminders"| node_notifications
node_background_tasks -.->|"sends email"| node_email
node_notifications -->|"queries classes; creates alerts"| node_domain_models

click node_api_routes "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/urls.py"
click node_request_handlers "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py"
click node_validation "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/serializers.py"
click node_identity "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/models.py"
click node_teacher_discovery "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py"
click node_teacher_verification "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py"
click node_batches_enrollment "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py"
click node_classes_attendance "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py"
click node_materials_bookmarks "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py"
click node_connections_privacy "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py"
click node_messaging_blocks "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py"
click node_reviews_reports "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py"
click node_notifications "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py"
click node_admin_tools "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py"
click node_domain_models "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/models.py"
click node_celery_schedule "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/my_learning_project/settings.py"
click node_background_tasks "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/tasks.py"
click node_celery_app "https://github.com/ddpldeveloperahul/tutoron-india/blob/main/my_learning_project/celery.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_api_routes,node_request_handlers,node_validation,node_identity toneBlue
class node_teacher_discovery,node_teacher_verification,node_batches_enrollment,node_classes_attendance,node_materials_bookmarks,node_redis toneAmber
class node_connections_privacy,node_messaging_blocks,node_reviews_reports,node_notifications toneMint
class node_admin_tools,node_domain_models,node_celery_schedule,node_background_tasks,node_celery_app toneRose
class node_students_teachers,node_admins,node_email toneIndigo
```

## Components

### API and identity

- [API routing](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/urls.py): `study/urls.py`
- [API workflows](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py): `study/views.py`
- [Validation and responses](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/serializers.py): `study/serializers.py`
- [Accounts and profiles](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/models.py): `study/models.py`

### Marketplace and learning

- [Teacher discovery](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py): `study/views.py`
- [Teacher verification](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py): `study/views.py`
- [Batches and enrollment](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py): `study/views.py`
- [Classes and attendance](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py): `study/views.py`
- [Materials and bookmarks](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py): `study/views.py`

### Trust and communication

- [Connections and contact](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py): `study/views.py`
- [Messaging and blocks](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py): `study/views.py`
- [Reviews and reports](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py): `study/views.py`
- [Notifications](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py): `study/views.py`

### Platform operations

- [Admin operations](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/views.py): `study/views.py`
- [Marketplace records](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/models.py): `study/models.py`
- [Reminder schedule](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/my_learning_project/settings.py): `my_learning_project/settings.py`
- [Background tasks](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/study/tasks.py): `study/tasks.py`
- [Celery runtime](https://github.com/ddpldeveloperahul/tutoron-india/blob/main/my_learning_project/celery.py): `my_learning_project/celery.py`

### Other components

- **Students and teachers**
- **Administrators**
- **Redis broker**
- **Email delivery**

## Connections

- Students and teachers → API routing: submit requests
- Administrators → API routing: submit requests
- API routing → API workflows: dispatches
- API workflows → Validation and responses: validates and serializes
- API workflows → Accounts and profiles: registers and reads
- API workflows → Teacher discovery: handles discovery
- API workflows → Teacher verification: handles verification
- API workflows → Batches and enrollment: handles enrollment
- API workflows → Classes and attendance: handles class access
- API workflows → Materials and bookmarks: handles materials
- API workflows → Connections and contact: handles requests
- API workflows → Messaging and blocks: handles conversations
- API workflows → Reviews and reports: handles submissions
- API workflows → Notifications: handles notifications
- API workflows → Admin operations: handles admin work
- Teacher discovery → Marketplace records: queries records
- Teacher verification → Marketplace records: updates verification
- Batches and enrollment → Marketplace records: reads and writes
- Classes and attendance → Marketplace records: reads and writes
- Materials and bookmarks → Marketplace records: reads and writes
- Connections and contact → Marketplace records: checks and unlocks
- Messaging and blocks → Marketplace records: reads and writes
- Reviews and reports → Marketplace records: stores submissions
- Notifications → Marketplace records: stores notifications
- Admin operations → Marketplace records: queries and updates
- Reminder schedule → Celery runtime: configures schedule
- Celery runtime → Background tasks: discovers tasks
- Celery runtime → Redis broker: uses broker
- Background tasks → Notifications: requests reminders
- Background tasks → Email delivery: sends email
- Notifications → Marketplace records: queries classes; creates alerts
