# chaithra0206/hire-me architecture

> Architecture diagram of the GitHub repository chaithra0206/hire-me, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/chaithra0206/hire-me
- Repository: https://github.com/chaithra0206/hire-me

## Overview

Hire Me is a student-recruiter hiring platform with student and recruiter experiences, club membership administration, and verification workflows. The main path runs from job discovery through application submission and recruiter review/status updates, with student application tracking. The API routes requests through authentication and database middleware to domain controllers and a shared relational store. Source excerpts establish application, authentication, database, and route wiring; several other feature branches are preserved from the route tree and SOURCE INDEX, but their internal calls were not sampled.

Main entry points: [`apps/api/src/app.ts`](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/app.ts) (Hono API router), [`apps/api/src/routes/applications.ts`](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/applications.ts) (Application routes), [`apps/api/src/controllers/applications.controller.ts`](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/controllers/applications.controller.ts) (Application workflow), [`packages/db/src/db-client.ts`](https://github.com/chaithra0206/hire-me/blob/main/packages/db/src/db-client.ts) (Database client)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web experiences"]
  node_job_browse["Job discovery<br/>[page.tsx]"]
  node_job_details["Job details<br/>[page.tsx]"]
  node_apply["Apply to posting<br/>[ApplyButton.tsx]"]
  node_student_apps["Application tracking<br/>[page.tsx]"]
  node_recruiter_jobs["Manage postings<br/>[page.tsx]"]
  node_recruiter_pipeline["Review candidates<br/>[PipelineTabs.tsx]"]
  node_student_profile["Student profile<br/>[page.tsx]"]
  node_onboarding["Role onboarding<br/>[page.tsx]"]
end

subgraph group_api["API and domain services"]
  node_api_app["Hono API router<br/>[app.ts]"]
  node_auth["Bearer authentication<br/>[auth.ts]"]
  node_db_middleware["Database context<br/>[db.ts]"]
  node_posting_routes["Posting routes<br/>[postings.ts]"]
  node_application_routes["Application routes<br/>[applications.ts]"]
  node_application_logic["Application workflow"]
  node_recruiter_routes["Recruiter routes<br/>[recruiters.ts]"]
  node_talent_routes["Talent search routes<br/>[talents.ts]"]
  node_student_routes["Student routes<br/>[student.ts]"]
  node_student_data_routes["Student data routes<br/>[student-data.ts]"]
  node_notification_routes["Notification routes<br/>[notifications.ts]"]
  node_notifications["Notification delivery"]
end

subgraph group_data["Persistence and identity"]
  node_db_context["Database client<br/>[db-client.ts]"]
  node_schema["Domain schema<br/>[index.ts]"]
  node_postgres[("Postgres store")]
end

subgraph group_admin["Administration and verification"]
  node_club_routes["Club membership routes<br/>[club-members.ts]"]
  node_club_logic["Club membership management"]
  node_verification_routes["Verification routes<br/>[verification.ts]"]
  node_verification_logic["Student verification"]
  node_admin_routes["Core admin routes<br/>[admin.ts]"]
  node_admin_logic["Admin operations"]
end

node_user(("Student or recruiter"))
node_neon_auth["Neon Auth JWKS"]

node_user -->|"browses jobs"| node_job_browse
node_job_browse -->|"opens posting"| node_job_details
node_job_details -->|"starts application"| node_apply
node_apply -.->|"submits application"| node_application_routes
node_student_apps -.->|"loads applications"| node_application_routes
node_recruiter_jobs -.->|"manages postings"| node_posting_routes
node_recruiter_pipeline -.->|"updates status"| node_application_routes
node_student_profile -.->|"loads profile data"| node_student_data_routes
node_onboarding -.->|"sets up student"| node_student_routes
node_api_app -->|"installs middleware"| node_db_middleware
node_api_app -->|"mounts routes"| node_posting_routes
node_api_app -->|"mounts routes"| node_application_routes
node_api_app -->|"mounts routes"| node_recruiter_routes
node_api_app -->|"mounts routes"| node_talent_routes
node_api_app -->|"mounts routes"| node_student_routes
node_api_app -->|"mounts routes"| node_student_data_routes
node_api_app -->|"mounts routes"| node_notification_routes
node_api_app -->|"mounts routes"| node_club_routes
node_api_app -->|"mounts routes"| node_verification_routes
node_api_app -->|"mounts routes"| node_admin_routes
node_application_routes -->|"requires token"| node_auth
node_application_routes -->|"calls workflow"| node_application_logic
node_application_logic -->|"creates notification"| node_notifications
node_notification_routes -->|"calls controller"| node_notifications
node_club_routes -->|"calls controller"| node_club_logic
node_verification_routes -.->|"calls controller"| node_verification_logic
node_admin_routes -->|"calls controller"| node_admin_logic
node_db_middleware -->|"creates client"| node_db_context
node_db_context -->|"loads schema"| node_schema
node_db_context -->|"connects to Neon"| node_postgres
node_application_logic -->|"reads and writes"| node_postgres
node_admin_logic -->|"reads and writes"| node_postgres
node_auth -->|"verifies JWT keys"| node_neon_auth

click node_job_browse "https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/student/jobs/page.tsx"
click node_job_details "https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/jobs/%5Bid%5D/page.tsx"
click node_apply "https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/components/job/ApplyButton.tsx"
click node_student_apps "https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/student/applications/page.tsx"
click node_recruiter_jobs "https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/dashboard/recruiter/jobs/page.tsx"
click node_recruiter_pipeline "https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/dashboard/recruiter/components/PipelineTabs.tsx"
click node_student_profile "https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/student/profile/page.tsx"
click node_onboarding "https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/(onboarding)/student/page.tsx"
click node_api_app "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/app.ts"
click node_auth "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/middleware/auth.ts"
click node_db_middleware "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/middleware/db.ts"
click node_posting_routes "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/postings.ts"
click node_application_routes "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/applications.ts"
click node_application_logic "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/controllers/applications.controller.ts"
click node_recruiter_routes "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/recruiters.ts"
click node_talent_routes "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/talents.ts"
click node_student_routes "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/student.ts"
click node_student_data_routes "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/student-data.ts"
click node_notification_routes "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/notifications.ts"
click node_notifications "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/controllers/notifications.controller.ts"
click node_club_routes "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/club-members.ts"
click node_club_logic "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/controllers/club-members.controller.ts"
click node_verification_routes "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/verification.ts"
click node_verification_logic "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/controllers/verification.controller.ts"
click node_admin_routes "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/admin.ts"
click node_admin_logic "https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/controllers/admin.controller.ts"
click node_db_context "https://github.com/chaithra0206/hire-me/blob/main/packages/db/src/db-client.ts"
click node_schema "https://github.com/chaithra0206/hire-me/blob/main/packages/db/src/schema/index.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_job_browse,node_job_details,node_apply,node_student_apps,node_recruiter_jobs,node_recruiter_pipeline,node_student_profile,node_onboarding toneBlue
class node_api_app,node_auth,node_db_middleware,node_posting_routes,node_application_routes,node_application_logic,node_recruiter_routes,node_talent_routes,node_student_routes,node_student_data_routes,node_notification_routes,node_notifications toneAmber
class node_db_context,node_schema,node_postgres toneMint
class node_club_routes,node_club_logic,node_verification_routes,node_verification_logic,node_admin_routes,node_admin_logic toneRose
class node_user,node_neon_auth toneIndigo
```

## Components

### Web experiences

- [Job discovery](https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/student/jobs/page.tsx): `apps/web/app/student/jobs/page.tsx`
- [Job details](https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/jobs/%5Bid%5D/page.tsx): `apps/web/app/jobs/[id]/page.tsx`
- [Apply to posting](https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/components/job/ApplyButton.tsx): `apps/web/app/components/job/ApplyButton.tsx`
- [Application tracking](https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/student/applications/page.tsx): `apps/web/app/student/applications/page.tsx`
- [Manage postings](https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/dashboard/recruiter/jobs/page.tsx): `apps/web/app/dashboard/recruiter/jobs/page.tsx`
- [Review candidates](https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/dashboard/recruiter/components/PipelineTabs.tsx): `apps/web/app/dashboard/recruiter/components/PipelineTabs.tsx`
- [Student profile](https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/student/profile/page.tsx): `apps/web/app/student/profile/page.tsx`
- [Role onboarding](https://github.com/chaithra0206/hire-me/blob/main/apps/web/app/(onboarding)/student/page.tsx): `apps/web/app/(onboarding)/student/page.tsx`

### API and domain services

- [Hono API router](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/app.ts): `apps/api/src/app.ts`
- [Bearer authentication](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/middleware/auth.ts): `apps/api/src/middleware/auth.ts`
- [Database context](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/middleware/db.ts): `apps/api/src/middleware/db.ts`
- [Posting routes](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/postings.ts): `apps/api/src/routes/postings.ts`
- [Application routes](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/applications.ts): `apps/api/src/routes/applications.ts`
- [Application workflow](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/controllers/applications.controller.ts): `apps/api/src/controllers/applications.controller.ts`
- [Recruiter routes](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/recruiters.ts): `apps/api/src/routes/recruiters.ts`
- [Talent search routes](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/talents.ts): `apps/api/src/routes/talents.ts`
- [Student routes](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/student.ts): `apps/api/src/routes/student.ts`
- [Student data routes](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/student-data.ts): `apps/api/src/routes/student-data.ts`
- [Notification routes](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/notifications.ts): `apps/api/src/routes/notifications.ts`
- [Notification delivery](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/controllers/notifications.controller.ts): `apps/api/src/controllers/notifications.controller.ts`

### Persistence and identity

- [Database client](https://github.com/chaithra0206/hire-me/blob/main/packages/db/src/db-client.ts): `packages/db/src/db-client.ts`
- [Domain schema](https://github.com/chaithra0206/hire-me/blob/main/packages/db/src/schema/index.ts): `packages/db/src/schema/index.ts`
- **Postgres store**

### Administration and verification

- [Club membership routes](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/club-members.ts): `apps/api/src/routes/club-members.ts`
- [Club membership management](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/controllers/club-members.controller.ts): `apps/api/src/controllers/club-members.controller.ts`
- [Verification routes](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/verification.ts): `apps/api/src/routes/verification.ts`
- [Student verification](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/controllers/verification.controller.ts): `apps/api/src/controllers/verification.controller.ts`
- [Core admin routes](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/routes/admin.ts): `apps/api/src/routes/admin.ts`
- [Admin operations](https://github.com/chaithra0206/hire-me/blob/main/apps/api/src/controllers/admin.controller.ts): `apps/api/src/controllers/admin.controller.ts`

### Other components

- **Student or recruiter**
- **Neon Auth JWKS**

## Connections

- Student or recruiter → Job discovery: browses jobs
- Job discovery → Job details: opens posting
- Job details → Apply to posting: starts application
- Apply to posting → Application routes: submits application
- Application tracking → Application routes: loads applications
- Manage postings → Posting routes: manages postings
- Review candidates → Application routes: updates status
- Student profile → Student data routes: loads profile data
- Role onboarding → Student routes: sets up student
- Hono API router → Database context: installs middleware (evidence: `apps/api/src/app.ts`)
- Hono API router → Posting routes: mounts routes (evidence: `apps/api/src/app.ts`)
- Hono API router → Application routes: mounts routes (evidence: `apps/api/src/app.ts`)
- Hono API router → Recruiter routes: mounts routes (evidence: `apps/api/src/app.ts`)
- Hono API router → Talent search routes: mounts routes (evidence: `apps/api/src/app.ts`)
- Hono API router → Student routes: mounts routes (evidence: `apps/api/src/app.ts`)
- Hono API router → Student data routes: mounts routes (evidence: `apps/api/src/app.ts`)
- Hono API router → Notification routes: mounts routes (evidence: `apps/api/src/app.ts`)
- Hono API router → Club membership routes: mounts routes (evidence: `apps/api/src/app.ts`)
- Hono API router → Verification routes: mounts routes (evidence: `apps/api/src/app.ts`)
- Hono API router → Core admin routes: mounts routes (evidence: `apps/api/src/app.ts`)
- Application routes → Bearer authentication: requires token (evidence: `apps/api/src/routes/applications.ts`)
- Application routes → Application workflow: calls workflow (evidence: `apps/api/src/routes/applications.ts`)
- Application workflow → Notification delivery: creates notification (evidence: `apps/api/src/controllers/applications.controller.ts`)
- Notification routes → Notification delivery: calls controller (evidence: `apps/api/src/routes/notifications.ts`)
- Club membership routes → Club membership management: calls controller (evidence: `apps/api/src/routes/club-members.ts`)
- Verification routes → Student verification: calls controller
- Core admin routes → Admin operations: calls controller (evidence: `apps/api/src/routes/admin.ts`)
- Database context → Database client: creates client (evidence: `apps/api/src/middleware/db.ts`)
- Database client → Domain schema: loads schema (evidence: `packages/db/src/db-client.ts`)
- Database client → Postgres store: connects to Neon (evidence: `packages/db/src/db-client.ts`)
- Application workflow → Postgres store: reads and writes (evidence: `apps/api/src/controllers/applications.controller.ts`)
- Admin operations → Postgres store: reads and writes (evidence: `apps/api/src/controllers/admin.controller.ts`)
- Bearer authentication → Neon Auth JWKS: verifies JWT keys (evidence: `apps/api/src/middleware/auth.ts`)
