# amr-ma7moud/campusconnect architecture

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

## Overview

CampusConnect is a campus-management system with Android clients for students and club managers, a web dashboard for administrators, and a Node.js API backed by a cloud database. The principal workflow is users acting through their platform to authenticate and perform campus tasks—such as event participation or facility booking—with administrators overseeing events and operations. The README documents the major feature areas and integrations, but no implementation source was provided, so internal service wiring is not inferred.

Main entry points: [`Back-end`](https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end) (Backend API), [`Android-app`](https://github.com/amr-ma7moud/campusconnect/tree/main/Android-app) (Android app), [`Front-end`](https://github.com/amr-ma7moud/campusconnect/tree/main/Front-end) (Admin web app)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_clients["Client applications"]
  node_android_app["Android app"]
  node_admin_web["Admin web app"]
end

subgraph group_api["API capabilities"]
  node_api_server["Backend API"]
  node_identity_users["Auth and users"]
  node_events["Event management"]
  node_facilities["Facility booking"]
  node_clubs_posts["Clubs and posts"]
  node_admin_ops["Admin operations"]
  node_notifications["Notifications"]
end

subgraph group_integrations["Data and notifications"]
  node_cloud_db[("Cloud database")]
  node_push_service["Push notifications"]
  node_email_service["Email service"]
end

node_student(("Student"))
node_club_manager(("Club manager"))
node_system_admin(("System admin"))

node_student -->|"uses"| node_android_app
node_club_manager -->|"uses"| node_android_app
node_system_admin -->|"uses"| node_admin_web
node_android_app -->|"calls API"| node_api_server
node_admin_web -->|"calls API"| node_api_server
node_api_server -->|"serves"| node_identity_users
node_api_server -->|"serves"| node_events
node_api_server -->|"serves"| node_facilities
node_api_server -->|"serves"| node_clubs_posts
node_api_server -->|"serves"| node_admin_ops
node_api_server -->|"serves"| node_notifications
node_api_server -->|"persists data"| node_cloud_db
node_notifications -.->|"sends pushes"| node_push_service
node_notifications -.->|"sends email"| node_email_service

click node_android_app "https://github.com/amr-ma7moud/campusconnect/tree/main/Android-app"
click node_admin_web "https://github.com/amr-ma7moud/campusconnect/tree/main/Front-end"
click node_api_server "https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end"
click node_identity_users "https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end"
click node_events "https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end"
click node_facilities "https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end"
click node_clubs_posts "https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end"
click node_admin_ops "https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end"
click node_notifications "https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end"

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_android_app,node_admin_web toneBlue
class node_api_server,node_identity_users,node_events,node_facilities,node_clubs_posts,node_admin_ops,node_notifications toneAmber
class node_cloud_db,node_push_service,node_email_service toneMint
class node_student,node_club_manager,node_system_admin toneIndigo
```

## Components

### Client applications

- [Android app](https://github.com/amr-ma7moud/campusconnect/tree/main/Android-app): `Android-app`
- [Admin web app](https://github.com/amr-ma7moud/campusconnect/tree/main/Front-end): `Front-end`

### API capabilities

- [Backend API](https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end): `Back-end`
- [Auth and users](https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end): `Back-end`
- [Event management](https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end): `Back-end`
- [Facility booking](https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end): `Back-end`
- [Clubs and posts](https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end): `Back-end`
- [Admin operations](https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end): `Back-end`
- [Notifications](https://github.com/amr-ma7moud/campusconnect/tree/main/Back-end): `Back-end`

### Data and notifications

- **Cloud database**
- **Push notifications**
- **Email service**

### Other components

- **Student**
- **Club manager**
- **System admin**

## Connections

- Student → Android app: uses
- Club manager → Android app: uses
- System admin → Admin web app: uses
- Android app → Backend API: calls API
- Admin web app → Backend API: calls API
- Backend API → Auth and users: serves
- Backend API → Event management: serves
- Backend API → Facility booking: serves
- Backend API → Clubs and posts: serves
- Backend API → Admin operations: serves
- Backend API → Notifications: serves
- Backend API → Cloud database: persists data
- Notifications → Push notifications: sends pushes
- Notifications → Email service: sends email
