# naresh-revalli/aluminconnect architecture

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

## Overview

Alumni Connect is a role-based student–alumni community platform. Users authenticate, then browse profiles and shared career resources or, as alumni, contribute referrals, interview experiences, reviews, stories, and resources; donations and activity feed a leaderboard. Admins manage accounts, moderate stories, review donations, and view analytics. The README documents the layered backend and frontend API/page structure; sampled source confirms review-service ownership and JWT/user lookup, but most domain wiring is represented only at the documented architectural level.

Main entry points: [`AluminiConnectFrontend/src/api`](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectFrontend/src/api) (Domain API clients), [`AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend`](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend) (Domain repositories), [`AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/auth/controller`](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/auth/controller) (Authentication endpoints), [`AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/auth/service`](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/auth/service) (Authentication service)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Web client"]
  node_web["React application<br/>[App.jsx]"]
  node_routes["Role-based routes"]
  node_pages["Role and shared pages"]
  node_clientapi["Domain API clients"]
end

subgraph group_identity["Identity and profiles"]
  node_authui["Login and registration"]
  node_authapi["Auth API<br/>[authApi.js]"]
  node_authcontroller["Authentication endpoints"]
  node_authservice["Authentication service"]
  node_jwt["JWT security"]
  node_profiles["Student and alumni profiles"]
end

subgraph group_community["Career community"]
  node_referrals["Job referrals"]
  node_interviews["Interview experiences"]
  node_reviews["Company reviews"]
  node_stories["Success stories"]
  node_resources["Learning resources"]
  node_persistence["Domain repositories"]
end

subgraph group_engagement["Engagement"]
  node_donations["Donations"]
  node_leaderboard["Leaderboard"]
end

subgraph group_admin["Administration"]
  node_useradmin["User management"]
  node_analytics["Platform analytics"]
end

node_people(("Students, alumni, admins"))
node_mysql[("MySQL database")]

node_people -->|"use"| node_web
node_web -->|"renders"| node_routes
node_routes -->|"dispatches"| node_pages
node_people -->|"authenticate"| node_authui
node_authui -->|"submits credentials"| node_authapi
node_authapi -->|"calls API"| node_authcontroller
node_clientapi -->|"calls domain APIs"| node_authcontroller
node_authcontroller -->|"delegates"| node_authservice
node_authservice -->|"issues token"| node_jwt
node_authservice -->|"looks up users"| node_persistence
node_pages -->|"requests data"| node_clientapi
node_authcontroller -->|"validates requests"| node_jwt
node_clientapi -->|"calls profile APIs"| node_profiles
node_clientapi -->|"calls referral APIs"| node_referrals
node_clientapi -->|"calls interview APIs"| node_interviews
node_clientapi -->|"calls review APIs"| node_reviews
node_clientapi -->|"calls story APIs"| node_stories
node_clientapi -->|"calls resource APIs"| node_resources
node_clientapi -->|"calls donation APIs"| node_donations
node_clientapi -->|"calls leaderboard API"| node_leaderboard
node_clientapi -->|"calls admin APIs"| node_useradmin
node_clientapi -->|"requests analytics"| node_analytics
node_reviews -->|"reads and writes"| node_persistence
node_referrals -->|"persists domain data"| node_persistence
node_interviews -->|"persists domain data"| node_persistence
node_stories -->|"persists domain data"| node_persistence
node_resources -->|"persists domain data"| node_persistence
node_donations -->|"persists domain data"| node_persistence
node_profiles -->|"persists profiles"| node_persistence
node_useradmin -->|"manages accounts"| node_persistence
node_analytics -->|"aggregates platform data"| node_persistence
node_leaderboard -->|"reads activity data"| node_persistence
node_persistence -->|"stores data"| node_mysql

click node_web "https://github.com/naresh-revalli/aluminconnect/blob/main/AluminiConnectFrontend/src/App.jsx"
click node_routes "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectFrontend/src/router"
click node_pages "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectFrontend/src/pages"
click node_clientapi "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectFrontend/src/api"
click node_authui "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectFrontend/src/pages/auth"
click node_authapi "https://github.com/naresh-revalli/aluminconnect/blob/main/AluminiConnectFrontend/src/api/authApi.js"
click node_authcontroller "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/auth/controller"
click node_authservice "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/auth/service"
click node_jwt "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/auth/jwt"
click node_profiles "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/alumni"
click node_useradmin "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/admin"
click node_referrals "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/referral"
click node_interviews "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/interview"
click node_reviews "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/review"
click node_stories "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/story"
click node_resources "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/resource"
click node_donations "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/donation"
click node_leaderboard "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/leaderboard"
click node_analytics "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/admin"
click node_persistence "https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend"

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,node_routes,node_pages,node_clientapi toneBlue
class node_authui,node_authapi,node_authcontroller,node_authservice,node_jwt,node_profiles,node_mysql toneAmber
class node_referrals,node_interviews,node_reviews,node_stories,node_resources,node_persistence toneMint
class node_donations,node_leaderboard toneRose
class node_useradmin,node_analytics,node_people toneIndigo
```

## Components

### Web client

- [React application](https://github.com/naresh-revalli/aluminconnect/blob/main/AluminiConnectFrontend/src/App.jsx): `AluminiConnectFrontend/src/App.jsx`
- [Role-based routes](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectFrontend/src/router): `AluminiConnectFrontend/src/router`
- [Role and shared pages](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectFrontend/src/pages): `AluminiConnectFrontend/src/pages`
- [Domain API clients](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectFrontend/src/api): `AluminiConnectFrontend/src/api`

### Identity and profiles

- [Login and registration](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectFrontend/src/pages/auth): `AluminiConnectFrontend/src/pages/auth`
- [Auth API](https://github.com/naresh-revalli/aluminconnect/blob/main/AluminiConnectFrontend/src/api/authApi.js): `AluminiConnectFrontend/src/api/authApi.js`
- [Authentication endpoints](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/auth/controller): `AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/auth/controller`
- [Authentication service](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/auth/service): `AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/auth/service`
- [JWT security](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/auth/jwt): `AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/auth/jwt`
- [Student and alumni profiles](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/alumni): `AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/alumni`

### Career community

- [Job referrals](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/referral): `AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/referral`
- [Interview experiences](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/interview): `AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/interview`
- [Company reviews](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/review): `AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/review`
- [Success stories](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/story): `AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/story`
- [Learning resources](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/resource): `AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/resource`
- [Domain repositories](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend): `AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend`

### Engagement

- [Donations](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/donation): `AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/donation`
- [Leaderboard](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/leaderboard): `AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/leaderboard`

### Administration

- [User management](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/admin): `AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/admin`
- [Platform analytics](https://github.com/naresh-revalli/aluminconnect/tree/main/AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/admin): `AluminiConnectBackend/src/main/java/com/AluminiConnect/AluminiConnectBackend/admin`

### Other components

- **Students, alumni, admins**
- **MySQL database**

## Connections

- Students, alumni, admins → React application: use
- React application → Role-based routes: renders
- Role-based routes → Role and shared pages: dispatches
- Students, alumni, admins → Login and registration: authenticate
- Login and registration → Auth API: submits credentials
- Auth API → Authentication endpoints: calls API
- Domain API clients → Authentication endpoints: calls domain APIs
- Authentication endpoints → Authentication service: delegates
- Authentication service → JWT security: issues token
- Authentication service → Domain repositories: looks up users
- Role and shared pages → Domain API clients: requests data
- Authentication endpoints → JWT security: validates requests
- Domain API clients → Student and alumni profiles: calls profile APIs
- Domain API clients → Job referrals: calls referral APIs
- Domain API clients → Interview experiences: calls interview APIs
- Domain API clients → Company reviews: calls review APIs
- Domain API clients → Success stories: calls story APIs
- Domain API clients → Learning resources: calls resource APIs
- Domain API clients → Donations: calls donation APIs
- Domain API clients → Leaderboard: calls leaderboard API
- Domain API clients → User management: calls admin APIs
- Domain API clients → Platform analytics: requests analytics
- Company reviews → Domain repositories: reads and writes
- Job referrals → Domain repositories: persists domain data
- Interview experiences → Domain repositories: persists domain data
- Success stories → Domain repositories: persists domain data
- Learning resources → Domain repositories: persists domain data
- Donations → Domain repositories: persists domain data
- Student and alumni profiles → Domain repositories: persists profiles
- User management → Domain repositories: manages accounts
- Platform analytics → Domain repositories: aggregates platform data
- Leaderboard → Domain repositories: reads activity data
- Domain repositories → MySQL database: stores data
