# mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement. architecture

> Architecture diagram of the GitHub repository mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement., 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/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement.
- Repository: https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement.

## Overview

SkillBridge India connects students, recruiters, faculty and institutions through skill assessment, opportunity matching and application workflows, alongside portfolios, internships, learning and research collaboration. The React app routes public and role-based experiences through a centralized REST client to Express route modules; recommendation scoring is a distinct internal layer. The graph preserves documented capability areas, but their individual page-to-endpoint wiring is not shown in the sampled source, so those links are kept at the API-client boundary.

Main entry points: [`server/src/server.ts`](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/server.ts) (Express API), [`client/src/services/api.ts`](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/client/src/services/api.ts) (REST client), [`client/src/App.tsx`](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/client/src/App.tsx) (Routes and app shell), [`server/src/routes/applications.ts`](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/applications.ts) (Applications)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Web experience"]
  node_app["Routes and app shell<br/>[App.tsx]"]
  node_authui["Session context<br/>[AuthContext.tsx]"]
  node_notifyui["Notification context"]
  node_studentui["Student workflows"]
  node_partnerui["Partner dashboards"]
  node_publicui["Public catalogs"]
  node_apiclient["REST client<br/>[api.ts]"]
end

subgraph group_api["API capabilities"]
  node_server["Express API<br/>[server.ts]"]
  node_authroutes["Authentication<br/>[auth.ts]"]
  node_opproutes["Opportunities<br/>[opportunities.ts]"]
  node_approutes["Applications<br/>[applications.ts]"]
  node_assessroutes["Skill assessments<br/>[assessments.ts]"]
  node_portfolioroutes["Digital portfolios<br/>[portfolios.ts]"]
  node_internroutes["Internship tracking<br/>[internships.ts]"]
  node_collabroutes["Research collaboration<br/>[collaborations.ts]"]
  node_learningroutes["Learning programs<br/>[learning.ts]"]
  node_other_routes["Platform services"]
end

subgraph group_domain["Matching and access"]
  node_recommendations["Recommendation engine"]
  node_authmw["Session and role checks<br/>[auth.ts]"]
end

subgraph group_state["Platform state"]
  node_store[("Data store<br/>[store.ts]")]
end

node_users(("Students and partners"))

node_users -->|"use portal"| node_app
node_app -->|"routes to"| node_studentui
node_app -->|"routes to"| node_partnerui
node_app -->|"routes to"| node_publicui
node_studentui -->|"requests"| node_apiclient
node_partnerui -->|"requests"| node_apiclient
node_publicui -->|"requests"| node_apiclient
node_authui -->|"requests"| node_apiclient
node_notifyui -->|"requests"| node_apiclient
node_apiclient -->|"HTTP calls"| node_server
node_server -->|"dispatches"| node_authroutes
node_server -->|"dispatches"| node_opproutes
node_server -->|"dispatches"| node_approutes
node_server -->|"dispatches"| node_assessroutes
node_server -->|"dispatches"| node_portfolioroutes
node_server -->|"dispatches"| node_internroutes
node_server -->|"dispatches"| node_collabroutes
node_server -->|"dispatches"| node_learningroutes
node_server -->|"dispatches"| node_other_routes
node_authroutes -->|"reads and writes"| node_store
node_authroutes -->|"authenticates"| node_authmw
node_approutes -->|"authenticates"| node_authmw
node_approutes -->|"reads and writes"| node_store
node_approutes -->|"evaluates match"| node_recommendations
node_recommendations -->|"reads profiles and data"| node_store
node_assessroutes -->|"authenticates"| node_authmw

click node_app "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/client/src/App.tsx"
click node_authui "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/client/src/context/AuthContext.tsx"
click node_notifyui "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/client/src/context/NotificationContext.tsx"
click node_studentui "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./tree/main/client/src/pages/authenticated"
click node_partnerui "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./tree/main/client/src/pages/authenticated"
click node_publicui "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./tree/main/client/src/pages/public"
click node_apiclient "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/client/src/services/api.ts"
click node_server "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/server.ts"
click node_authroutes "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/auth.ts"
click node_opproutes "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/opportunities.ts"
click node_approutes "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/applications.ts"
click node_assessroutes "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/assessments.ts"
click node_portfolioroutes "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/portfolios.ts"
click node_internroutes "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/internships.ts"
click node_collabroutes "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/collaborations.ts"
click node_learningroutes "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/learning.ts"
click node_other_routes "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./tree/main/server/src/routes"
click node_recommendations "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/services/recommendationEngine.ts"
click node_authmw "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/middleware/auth.ts"
click node_store "https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/db/store.ts"

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_authui,node_notifyui,node_studentui,node_partnerui,node_publicui,node_apiclient toneBlue
class node_server,node_authroutes,node_opproutes,node_approutes,node_assessroutes,node_portfolioroutes,node_internroutes,node_collabroutes,node_learningroutes,node_other_routes toneAmber
class node_recommendations,node_authmw toneMint
class node_store toneRose
class node_users toneIndigo
```

## Components

### Web experience

- [Routes and app shell](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/client/src/App.tsx): `client/src/App.tsx`
- [Session context](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/client/src/context/AuthContext.tsx): `client/src/context/AuthContext.tsx`
- [Notification context](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/client/src/context/NotificationContext.tsx): `client/src/context/NotificationContext.tsx`
- [Student workflows](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./tree/main/client/src/pages/authenticated): `client/src/pages/authenticated`
- [Partner dashboards](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./tree/main/client/src/pages/authenticated): `client/src/pages/authenticated`
- [Public catalogs](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./tree/main/client/src/pages/public): `client/src/pages/public`
- [REST client](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/client/src/services/api.ts): `client/src/services/api.ts`

### API capabilities

- [Express API](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/server.ts): `server/src/server.ts`
- [Authentication](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/auth.ts): `server/src/routes/auth.ts`
- [Opportunities](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/opportunities.ts): `server/src/routes/opportunities.ts`
- [Applications](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/applications.ts): `server/src/routes/applications.ts`
- [Skill assessments](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/assessments.ts): `server/src/routes/assessments.ts`
- [Digital portfolios](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/portfolios.ts): `server/src/routes/portfolios.ts`
- [Internship tracking](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/internships.ts): `server/src/routes/internships.ts`
- [Research collaboration](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/collaborations.ts): `server/src/routes/collaborations.ts`
- [Learning programs](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/routes/learning.ts): `server/src/routes/learning.ts`
- [Platform services](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./tree/main/server/src/routes): `server/src/routes`

### Matching and access

- [Recommendation engine](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/services/recommendationEngine.ts): `server/src/services/recommendationEngine.ts`
- [Session and role checks](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/middleware/auth.ts): `server/src/middleware/auth.ts`

### Platform state

- [Data store](https://github.com/mdrehanmulla09-png/portal-for-academia-industry-collaboration-for-skill-mapping-internships-placement./blob/main/server/src/db/store.ts): `server/src/db/store.ts`

### Other components

- **Students and partners**

## Connections

- Students and partners → Routes and app shell: use portal
- Routes and app shell → Student workflows: routes to
- Routes and app shell → Partner dashboards: routes to
- Routes and app shell → Public catalogs: routes to
- Student workflows → REST client: requests
- Partner dashboards → REST client: requests
- Public catalogs → REST client: requests
- Session context → REST client: requests
- Notification context → REST client: requests
- REST client → Express API: HTTP calls
- Express API → Authentication: dispatches
- Express API → Opportunities: dispatches
- Express API → Applications: dispatches
- Express API → Skill assessments: dispatches
- Express API → Digital portfolios: dispatches
- Express API → Internship tracking: dispatches
- Express API → Research collaboration: dispatches
- Express API → Learning programs: dispatches
- Express API → Platform services: dispatches
- Authentication → Data store: reads and writes
- Authentication → Session and role checks: authenticates
- Applications → Session and role checks: authenticates
- Applications → Data store: reads and writes
- Applications → Recommendation engine: evaluates match
- Recommendation engine → Data store: reads profiles and data
- Skill assessments → Session and role checks: authenticates
