# chinmoykk3/campusfind-ai architecture

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

## Overview

CampusFind AI is a campus lost-and-found platform with student web/mobile applications and an administrator panel. The intended user journey is to report or find a lost item, use AI-assisted matching to identify a possible match, and support follow-up through notifications; administrators also manage users and view dashboard data. The sampled backend confirms authentication and admin routes, plus MongoDB setup and seeded categories/locations. The README describes AI capabilities, but their implementation and wiring—and the report routes’ mounting—are not shown in the excerpts.

Main entry points: [`backend/src/app.js`](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/app.js) (Express API), [`backend/src/server.js`](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/server.js) (Backend Startup), [`backend/src/database/seedDatabase.js`](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/database/seedDatabase.js) (Category / Location Seeds), [`backend/src/auth/auth.routes.js`](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/auth/auth.routes.js) (Auth Routes)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_clients["Clients"]
  node_student_apps["Student Web / Mobile"]
  node_admin_panel["Administrator Panel"]
end

subgraph group_api["Backend API"]
  node_express_app["Express API<br/>[app.js]"]
  node_auth_routes["Auth Routes<br/>[auth.routes.js]"]
  node_auth_controller["Auth Controller<br/>[auth.controller.js]"]
  node_auth_service["Auth Service<br/>[auth.service.js]"]
  node_admin_routes["Admin Routes<br/>[admin.routes.js]"]
  node_admin_controller["Admin Controller"]
  node_admin_user_routes["Admin User Routes"]
  node_admin_user_controller["User Admin Controller"]
  node_admin_services["Admin Services"]
end

subgraph group_domain["Lost And Found"]
  node_reporting["Lost / Found Reports"]
  node_ai_matching["AI Hybrid Matching"]
  node_notifications["Notifications<br/>[Notification.js]"]
end

subgraph group_persistence["Data And Setup"]
  node_user_model["User Model<br/>[User.js]"]
  node_mongo[("MongoDB")]
  node_server["Backend Startup<br/>[server.js]"]
  node_database_config["Database Connection<br/>[database.js]"]
  node_db_init["Index Initialization"]
  node_db_seed["Category / Location Seeds<br/>[seedDatabase.js]"]
  node_category_model["Category Model<br/>[Category.js]"]
  node_location_model["Location Model<br/>[Location.js]"]
end

node_students(("Students"))
node_admins(("Administrators"))

node_students -->|"use"| node_student_apps
node_admins -->|"use"| node_admin_panel
node_student_apps -->|"request"| node_express_app
node_admin_panel -->|"request"| node_express_app
node_express_app -->|"mounts"| node_auth_routes
node_express_app -->|"mounts"| node_admin_routes
node_express_app -->|"mounts"| node_admin_user_routes
node_auth_routes -->|"dispatches"| node_auth_controller
node_auth_controller -->|"calls"| node_auth_service
node_auth_service -->|"reads / writes"| node_user_model
node_admin_routes -->|"dispatches"| node_admin_controller
node_admin_controller -->|"calls"| node_admin_services
node_admin_user_routes -->|"dispatches"| node_admin_user_controller
node_admin_user_controller -->|"calls"| node_admin_services
node_server -->|"starts"| node_express_app
node_server -->|"connects"| node_database_config
node_server -->|"initializes"| node_db_init
node_server -->|"seeds"| node_db_seed
node_database_config -->|"connects"| node_mongo
node_db_seed -->|"upserts"| node_category_model
node_db_seed -->|"upserts"| node_location_model

click node_express_app "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/app.js"
click node_auth_routes "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/auth/auth.routes.js"
click node_auth_controller "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/auth/auth.controller.js"
click node_auth_service "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/auth/auth.service.js"
click node_admin_routes "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/admin/admin.routes.js"
click node_admin_controller "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/admin/admin.controller.js"
click node_admin_user_routes "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/admin/admin.user.routes.js"
click node_admin_user_controller "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/admin/admin.user.controller.js"
click node_admin_services "https://github.com/chinmoykk3/campusfind-ai/tree/main/backend/src/admin"
click node_reporting "https://github.com/chinmoykk3/campusfind-ai/tree/main/backend/src/reports"
click node_notifications "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/models/Notification.js"
click node_user_model "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/models/User.js"
click node_server "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/server.js"
click node_database_config "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/config/database.js"
click node_db_init "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/database/initializeDatabase.js"
click node_db_seed "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/database/seedDatabase.js"
click node_category_model "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/models/Category.js"
click node_location_model "https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/models/Location.js"

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_student_apps,node_admin_panel toneBlue
class node_express_app,node_auth_routes,node_auth_controller,node_auth_service,node_admin_routes,node_admin_controller,node_admin_user_routes,node_admin_user_controller,node_admin_services toneAmber
class node_reporting,node_ai_matching,node_notifications toneMint
class node_user_model,node_mongo,node_server,node_database_config,node_db_init,node_db_seed,node_category_model,node_location_model toneRose
class node_students,node_admins toneIndigo
```

## Components

### Clients

- **Student Web / Mobile**
- **Administrator Panel**

### Backend API

- [Express API](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/app.js): `backend/src/app.js`
- [Auth Routes](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/auth/auth.routes.js): `backend/src/auth/auth.routes.js`
- [Auth Controller](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/auth/auth.controller.js): `backend/src/auth/auth.controller.js`
- [Auth Service](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/auth/auth.service.js): `backend/src/auth/auth.service.js`
- [Admin Routes](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/admin/admin.routes.js): `backend/src/admin/admin.routes.js`
- [Admin Controller](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/admin/admin.controller.js): `backend/src/admin/admin.controller.js`
- [Admin User Routes](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/admin/admin.user.routes.js): `backend/src/admin/admin.user.routes.js`
- [User Admin Controller](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/admin/admin.user.controller.js): `backend/src/admin/admin.user.controller.js`
- [Admin Services](https://github.com/chinmoykk3/campusfind-ai/tree/main/backend/src/admin): `backend/src/admin`

### Lost And Found

- [Lost / Found Reports](https://github.com/chinmoykk3/campusfind-ai/tree/main/backend/src/reports): `backend/src/reports`
- **AI Hybrid Matching**
- [Notifications](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/models/Notification.js): `backend/src/models/Notification.js`

### Data And Setup

- [User Model](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/models/User.js): `backend/src/models/User.js`
- **MongoDB**
- [Backend Startup](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/server.js): `backend/src/server.js`
- [Database Connection](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/config/database.js): `backend/src/config/database.js`
- [Index Initialization](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/database/initializeDatabase.js): `backend/src/database/initializeDatabase.js`
- [Category / Location Seeds](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/database/seedDatabase.js): `backend/src/database/seedDatabase.js`
- [Category Model](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/models/Category.js): `backend/src/models/Category.js`
- [Location Model](https://github.com/chinmoykk3/campusfind-ai/blob/main/backend/src/models/Location.js): `backend/src/models/Location.js`

### Other components

- **Students**
- **Administrators**

## Connections

- Students → Student Web / Mobile: use
- Administrators → Administrator Panel: use
- Student Web / Mobile → Express API: request
- Administrator Panel → Express API: request
- Express API → Auth Routes: mounts
- Express API → Admin Routes: mounts
- Express API → Admin User Routes: mounts
- Auth Routes → Auth Controller: dispatches
- Auth Controller → Auth Service: calls
- Auth Service → User Model: reads / writes
- Admin Routes → Admin Controller: dispatches
- Admin Controller → Admin Services: calls
- Admin User Routes → User Admin Controller: dispatches
- User Admin Controller → Admin Services: calls
- Backend Startup → Express API: starts
- Backend Startup → Database Connection: connects
- Backend Startup → Index Initialization: initializes
- Backend Startup → Category / Location Seeds: seeds
- Database Connection → MongoDB: connects
- Category / Location Seeds → Category Model: upserts
- Category / Location Seeds → Location Model: upserts
