# itzharshitmavi/college-erp architecture

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

- Interactive diagram: https://gitdiagram.com/itzharshitmavi/college-erp
- Repository: https://github.com/itzharshitmavi/college-erp

## Overview

College ERP is a Django application for student, teacher, and administrator workflows, with a token-authenticated REST API. The principal web flow is role-based access to registration and approval, academic administration, teaching and student services, and fee handling; application views use shared forms and persistent domain records. The README also documents optional SendPulse email and Razorpay payments. The large views module and unsampled feature implementations are represented by the documented capabilities; edges are limited to URL mappings, indexed references, and README-documented integrations.

Main entry points: [`info/urls.py`](https://github.com/itzharshitmavi/college-erp/blob/main/info/urls.py) (Web routes), [`info/models.py`](https://github.com/itzharshitmavi/college-erp/blob/main/info/models.py) (ERP domain records), [`info/views.py`](https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py) (Registration and approval), [`apis/views.py`](https://github.com/itzharshitmavi/college-erp/blob/main/apis/views.py) (API endpoints)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web workflows"]
  node_web_routes["Web routes<br/>[urls.py]"]
  node_registration["Registration and approval<br/>[views.py]"]
  node_admin_ops["Admin operations<br/>[views.py]"]
end

subgraph group_academic["Academic lifecycle"]
  node_academic_ops["Academic management<br/>[views.py]"]
  node_attendance["Attendance<br/>[views.py]"]
  node_timetables["Timetables<br/>[views.py]"]
  node_exams_marks["Exams and marks<br/>[views.py]"]
  node_assignments_notes["Assignments and notes<br/>[views.py]"]
end

subgraph group_services["Student services"]
  node_student_records["Student records<br/>[views.py]"]
  node_leave_counseling["Leave and counselling<br/>[views.py]"]
  node_documents["Document vault<br/>[views.py]"]
  node_fees["Fee ledger<br/>[views.py]"]
  node_chat_notices["Chat and notices<br/>[views.py]"]
  node_pdf_reports["PDF reports<br/>[views.py]"]
end

subgraph group_api["REST API"]
  node_api_routes["API routes<br/>[urls.py]"]
  node_api_views["API endpoints<br/>[views.py]"]
  node_api_serializers["API serializers<br/>[serializers.py]"]
end

subgraph group_core["Shared application core"]
  node_forms["Shared forms<br/>[forms.py]"]
  node_domain_records[("ERP domain records<br/>[models.py]")]
end

node_students(("Students"))
node_teachers(("Teachers"))
node_admins(("Administrators"))
node_razorpay{{"Razorpay"}}
node_sendpulse{{"SendPulse"}}

node_students -->|"use student services"| node_web_routes
node_teachers -->|"use teaching tools"| node_web_routes
node_admins -->|"manage ERP"| node_web_routes
node_web_routes -->|"routes requests"| node_registration
node_web_routes -->|"routes requests"| node_admin_ops
node_web_routes -->|"routes requests"| node_academic_ops
node_web_routes -->|"routes requests"| node_attendance
node_web_routes -->|"routes requests"| node_timetables
node_web_routes -->|"routes requests"| node_exams_marks
node_web_routes -->|"routes requests"| node_assignments_notes
node_web_routes -->|"routes requests"| node_student_records
node_web_routes -->|"routes requests"| node_leave_counseling
node_web_routes -->|"routes requests"| node_documents
node_web_routes -->|"routes requests"| node_fees
node_web_routes -->|"routes requests"| node_chat_notices
node_web_routes -->|"routes requests"| node_pdf_reports
node_registration -->|"uses forms"| node_forms
node_registration -->|"reads and writes"| node_domain_records
node_admin_ops -->|"manages records"| node_domain_records
node_academic_ops -->|"reads and writes"| node_domain_records
node_attendance -->|"reads and writes"| node_domain_records
node_timetables -->|"reads records"| node_domain_records
node_exams_marks -->|"reads and writes"| node_domain_records
node_assignments_notes -->|"reads and writes"| node_domain_records
node_student_records -->|"reads records"| node_domain_records
node_leave_counseling -->|"reads and writes"| node_domain_records
node_documents -->|"reads and writes"| node_domain_records
node_fees -->|"reads and writes"| node_domain_records
node_chat_notices -->|"reads and writes"| node_domain_records
node_pdf_reports -->|"reads records"| node_domain_records
node_api_routes -->|"routes requests"| node_api_views
node_api_views -->|"serializes responses"| node_api_serializers
node_api_views -->|"reads and writes"| node_domain_records
node_api_serializers -->|"serializes models"| node_domain_records
node_fees -.->|"verifies payments"| node_razorpay
node_registration -.->|"sends decision email"| node_sendpulse

click node_web_routes "https://github.com/itzharshitmavi/college-erp/blob/main/info/urls.py"
click node_registration "https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py"
click node_admin_ops "https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py"
click node_academic_ops "https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py"
click node_attendance "https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py"
click node_timetables "https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py"
click node_exams_marks "https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py"
click node_assignments_notes "https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py"
click node_student_records "https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py"
click node_leave_counseling "https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py"
click node_documents "https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py"
click node_fees "https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py"
click node_chat_notices "https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py"
click node_pdf_reports "https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py"
click node_api_routes "https://github.com/itzharshitmavi/college-erp/blob/main/apis/urls.py"
click node_api_views "https://github.com/itzharshitmavi/college-erp/blob/main/apis/views.py"
click node_api_serializers "https://github.com/itzharshitmavi/college-erp/blob/main/apis/serializers.py"
click node_forms "https://github.com/itzharshitmavi/college-erp/blob/main/CollegeERP/forms.py"
click node_domain_records "https://github.com/itzharshitmavi/college-erp/blob/main/info/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_web_routes,node_registration,node_admin_ops toneBlue
class node_academic_ops,node_attendance,node_timetables,node_exams_marks,node_assignments_notes toneAmber
class node_student_records,node_leave_counseling,node_documents,node_fees,node_chat_notices,node_pdf_reports toneMint
class node_api_routes,node_api_views,node_api_serializers toneRose
class node_forms,node_domain_records,node_students,node_teachers,node_admins,node_razorpay,node_sendpulse toneIndigo
```

## Components

### Web workflows

- [Web routes](https://github.com/itzharshitmavi/college-erp/blob/main/info/urls.py): `info/urls.py`
- [Registration and approval](https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py): `info/views.py`
- [Admin operations](https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py): `info/views.py`

### Academic lifecycle

- [Academic management](https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py): `info/views.py`
- [Attendance](https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py): `info/views.py`
- [Timetables](https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py): `info/views.py`
- [Exams and marks](https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py): `info/views.py`
- [Assignments and notes](https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py): `info/views.py`

### Student services

- [Student records](https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py): `info/views.py`
- [Leave and counselling](https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py): `info/views.py`
- [Document vault](https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py): `info/views.py`
- [Fee ledger](https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py): `info/views.py`
- [Chat and notices](https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py): `info/views.py`
- [PDF reports](https://github.com/itzharshitmavi/college-erp/blob/main/info/views.py): `info/views.py`

### REST API

- [API routes](https://github.com/itzharshitmavi/college-erp/blob/main/apis/urls.py): `apis/urls.py`
- [API endpoints](https://github.com/itzharshitmavi/college-erp/blob/main/apis/views.py): `apis/views.py`
- [API serializers](https://github.com/itzharshitmavi/college-erp/blob/main/apis/serializers.py): `apis/serializers.py`

### Shared application core

- [Shared forms](https://github.com/itzharshitmavi/college-erp/blob/main/CollegeERP/forms.py): `CollegeERP/forms.py`
- [ERP domain records](https://github.com/itzharshitmavi/college-erp/blob/main/info/models.py): `info/models.py`

### Other components

- **Students**
- **Teachers**
- **Administrators**
- **Razorpay**
- **SendPulse**

## Connections

- Students → Web routes: use student services (evidence: `README.md`)
- Teachers → Web routes: use teaching tools (evidence: `README.md`)
- Administrators → Web routes: manage ERP (evidence: `README.md`)
- Web routes → Registration and approval: routes requests (evidence: `info/urls.py`)
- Web routes → Admin operations: routes requests (evidence: `info/urls.py`)
- Web routes → Academic management: routes requests (evidence: `info/urls.py`)
- Web routes → Attendance: routes requests (evidence: `info/urls.py`)
- Web routes → Timetables: routes requests (evidence: `info/urls.py`)
- Web routes → Exams and marks: routes requests (evidence: `info/urls.py`)
- Web routes → Assignments and notes: routes requests (evidence: `info/urls.py`)
- Web routes → Student records: routes requests (evidence: `info/urls.py`)
- Web routes → Leave and counselling: routes requests (evidence: `info/urls.py`)
- Web routes → Document vault: routes requests (evidence: `info/urls.py`)
- Web routes → Fee ledger: routes requests (evidence: `README.md`)
- Web routes → Chat and notices: routes requests (evidence: `info/urls.py`)
- Web routes → PDF reports: routes requests (evidence: `info/urls.py`)
- Registration and approval → Shared forms: uses forms (evidence: `info/views.py`)
- Registration and approval → ERP domain records: reads and writes (evidence: `info/views.py`)
- Admin operations → ERP domain records: manages records (evidence: `info/views.py`)
- Academic management → ERP domain records: reads and writes (evidence: `info/views.py`)
- Attendance → ERP domain records: reads and writes (evidence: `info/views.py`)
- Timetables → ERP domain records: reads records (evidence: `info/views.py`)
- Exams and marks → ERP domain records: reads and writes (evidence: `info/views.py`)
- Assignments and notes → ERP domain records: reads and writes (evidence: `info/views.py`)
- Student records → ERP domain records: reads records (evidence: `info/views.py`)
- Leave and counselling → ERP domain records: reads and writes (evidence: `info/views.py`)
- Document vault → ERP domain records: reads and writes (evidence: `info/views.py`)
- Fee ledger → ERP domain records: reads and writes (evidence: `info/views.py`)
- Chat and notices → ERP domain records: reads and writes (evidence: `info/views.py`)
- PDF reports → ERP domain records: reads records (evidence: `info/views.py`)
- API routes → API endpoints: routes requests (evidence: `apis/urls.py`)
- API endpoints → API serializers: serializes responses (evidence: `apis/views.py`)
- API endpoints → ERP domain records: reads and writes (evidence: `apis/views.py`)
- API serializers → ERP domain records: serializes models (evidence: `apis/serializers.py`)
- Fee ledger → Razorpay: verifies payments (evidence: `README.md`)
- Registration and approval → SendPulse: sends decision email (evidence: `README.md`)
