# sonupadhi/placementpoint architecture

> Architecture diagram of the GitHub repository sonupadhi/placementpoint, 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/sonupadhi/placementpoint
- Repository: https://github.com/sonupadhi/placementpoint

## Overview

PlacementPoint is a campus placement portal: students authenticate, browse placement drives, apply and track recruitment progress; coordinators manage drives, candidates and notices; administrators manage student records. The React dashboards call a Django REST API, whose domain apps cover authentication, jobs, applications and communications. The supplied excerpts establish the frontend login and coordinator API calls, but not the internal view-to-model wiring for every endpoint, so those backend relations are shown only at the app level where supported by the tree and README.

Main entry points: [`PlacementPoint_Bankend/BackendServer/BackendServer/urls.py`](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/BackendServer/urls.py) (REST routing), [`PlacementPoint_Frontend/src/services/api.js`](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/services/api.js) (API client), [`PlacementPoint_Frontend/src/App.jsx`](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/App.jsx) (Role routing), [`PlacementPoint_Frontend/src/pages/LoginPage.jsx`](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/pages/LoginPage.jsx) (Login page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["React portal"]
  node_app["Role routing<br/>[App.jsx]"]
  node_authctx["Auth state<br/>[AuthContext.jsx]"]
  node_login["Login page<br/>[LoginPage.jsx]"]
  node_studentdash["Student dashboard"]
  node_coorddash["Coordinator dashboard"]
  node_admindash["Admin dashboard"]
  node_api["API client<br/>[api.js]"]
end

subgraph group_identity["Identity"]
  node_django["REST routing<br/>[urls.py]"]
  node_auth["Authentication API<br/>[views.py]"]
  node_authdata[("User profiles<br/>[models.py]")]
end

subgraph group_placement["Placement operations"]
  node_jobs["Job drives<br/>[views.py]"]
  node_jobdata[("Drive rounds<br/>[models.py]")]
  node_applications["Applications<br/>[views.py]"]
  node_applicationdata[("Application records<br/>[models.py]")]
end

subgraph group_communications["Communications"]
  node_communications["Notices and queries<br/>[views.py]"]
  node_commdata[("Communication records<br/>[models.py]")]
end

node_student(("Student"))
node_coordinator(("Coordinator"))
node_admin(("Super admin"))
node_db[("Configured database<br/>[settings.py]")]

node_student -->|"signs in"| node_login
node_coordinator -->|"signs in"| node_login
node_admin -->|"signs in"| node_login
node_login -->|"submits credentials"| node_authctx
node_authctx -->|"requests login and profile"| node_api
node_app -->|"checks role"| node_authctx
node_app -->|"routes students"| node_studentdash
node_app -->|"routes coordinators"| node_coorddash
node_app -->|"routes admins"| node_admindash
node_studentdash -->|"calls portal API"| node_api
node_coorddash -->|"manages drives and students"| node_api
node_admindash -->|"calls admin API"| node_api
node_api -->|"sends requests"| node_django
node_django -->|"routes auth endpoints"| node_auth
node_django -->|"routes job endpoints"| node_jobs
node_django -->|"routes application endpoints"| node_applications
node_django -->|"routes communication endpoints"| node_communications
node_auth -->|"accesses profiles"| node_authdata
node_jobs -->|"accesses drives and rounds"| node_jobdata
node_applications -->|"accesses applications"| node_applicationdata
node_communications -->|"accesses notices and queries"| node_commdata
node_authdata -->|"persists"| node_db
node_jobdata -->|"persists"| node_db
node_applicationdata -->|"persists"| node_db
node_commdata -->|"persists"| node_db

click node_app "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/App.jsx"
click node_authctx "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/context/AuthContext.jsx"
click node_login "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/pages/LoginPage.jsx"
click node_studentdash "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/pages/StudentDashboard.jsx"
click node_coorddash "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/pages/CoordinatorDashboard.jsx"
click node_admindash "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/pages/SuperAdminDashboard.jsx"
click node_api "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/services/api.js"
click node_django "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/BackendServer/urls.py"
click node_auth "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/authentications/views.py"
click node_authdata "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/authentications/models.py"
click node_jobs "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/jobs/views.py"
click node_jobdata "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/jobs/models.py"
click node_applications "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/applications/views.py"
click node_applicationdata "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/applications/models.py"
click node_communications "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/communications/views.py"
click node_commdata "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/communications/models.py"
click node_db "https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/BackendServer/settings.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_app,node_authctx,node_login,node_studentdash,node_coorddash,node_admindash,node_api toneBlue
class node_django,node_auth,node_authdata,node_db toneAmber
class node_jobs,node_jobdata,node_applications,node_applicationdata toneMint
class node_communications,node_commdata toneRose
class node_student,node_coordinator,node_admin toneIndigo
```

## Components

### React portal

- [Role routing](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/App.jsx): `PlacementPoint_Frontend/src/App.jsx`
- [Auth state](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/context/AuthContext.jsx): `PlacementPoint_Frontend/src/context/AuthContext.jsx`
- [Login page](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/pages/LoginPage.jsx): `PlacementPoint_Frontend/src/pages/LoginPage.jsx`
- [Student dashboard](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/pages/StudentDashboard.jsx): `PlacementPoint_Frontend/src/pages/StudentDashboard.jsx`
- [Coordinator dashboard](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/pages/CoordinatorDashboard.jsx): `PlacementPoint_Frontend/src/pages/CoordinatorDashboard.jsx`
- [Admin dashboard](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/pages/SuperAdminDashboard.jsx): `PlacementPoint_Frontend/src/pages/SuperAdminDashboard.jsx`
- [API client](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Frontend/src/services/api.js): `PlacementPoint_Frontend/src/services/api.js`

### Identity

- [REST routing](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/BackendServer/urls.py): `PlacementPoint_Bankend/BackendServer/BackendServer/urls.py`
- [Authentication API](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/authentications/views.py): `PlacementPoint_Bankend/BackendServer/authentications/views.py`
- [User profiles](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/authentications/models.py): `PlacementPoint_Bankend/BackendServer/authentications/models.py`

### Placement operations

- [Job drives](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/jobs/views.py): `PlacementPoint_Bankend/BackendServer/jobs/views.py`
- [Drive rounds](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/jobs/models.py): `PlacementPoint_Bankend/BackendServer/jobs/models.py`
- [Applications](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/applications/views.py): `PlacementPoint_Bankend/BackendServer/applications/views.py`
- [Application records](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/applications/models.py): `PlacementPoint_Bankend/BackendServer/applications/models.py`

### Communications

- [Notices and queries](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/communications/views.py): `PlacementPoint_Bankend/BackendServer/communications/views.py`
- [Communication records](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/communications/models.py): `PlacementPoint_Bankend/BackendServer/communications/models.py`

### Other components

- **Student**
- **Coordinator**
- **Super admin**
- [Configured database](https://github.com/sonupadhi/placementpoint/blob/main/PlacementPoint_Bankend/BackendServer/BackendServer/settings.py): `PlacementPoint_Bankend/BackendServer/BackendServer/settings.py`

## Connections

- Student → Login page: signs in
- Coordinator → Login page: signs in
- Super admin → Login page: signs in
- Login page → Auth state: submits credentials
- Auth state → API client: requests login and profile
- Role routing → Auth state: checks role
- Role routing → Student dashboard: routes students
- Role routing → Coordinator dashboard: routes coordinators
- Role routing → Admin dashboard: routes admins
- Student dashboard → API client: calls portal API
- Coordinator dashboard → API client: manages drives and students
- Admin dashboard → API client: calls admin API
- API client → REST routing: sends requests
- REST routing → Authentication API: routes auth endpoints
- REST routing → Job drives: routes job endpoints
- REST routing → Applications: routes application endpoints
- REST routing → Notices and queries: routes communication endpoints
- Authentication API → User profiles: accesses profiles
- Job drives → Drive rounds: accesses drives and rounds
- Applications → Application records: accesses applications
- Notices and queries → Communication records: accesses notices and queries
- User profiles → Configured database: persists
- Drive rounds → Configured database: persists
- Application records → Configured database: persists
- Communication records → Configured database: persists
