# joshylak/100-backend-projects architecture

> Architecture diagram of the GitHub repository joshylak/100-backend-projects, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/joshylak/100-backend-projects
- Repository: https://github.com/joshylak/100-backend-projects

## Overview

This repository is a collection of independent backend-project implementations, not one application. Its documented user-to-result pattern is an API client invoking a project-specific HTTP or real-time service and receiving that service’s result; the projects cover utility APIs, authentication, CRUD domains, and intermediate integrations. The tree and sampled controllers support these representative capabilities, but do not establish wiring across projects. Edges therefore connect clients only to the documented standalone API projects; no shared runtime pipeline is implied.

Main entry points: [`To-do-List API/index.js`](https://github.com/joshylak/100-backend-projects/blob/main/To-do-List%20API/index.js) (To-do API), [`Notes-Api/index.js`](https://github.com/joshylak/100-backend-projects/blob/main/Notes-Api/index.js) (Notes API), [`Basic-Blog-Posts-Api/index.js`](https://github.com/joshylak/100-backend-projects/blob/main/Basic-Blog-Posts-Api/index.js) (Posts API), [`currency-converter-api/index.js`](https://github.com/joshylak/100-backend-projects/blob/main/currency-converter-api/index.js) (Currency API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_utilities["Utility APIs"]
  node_todo["To-do API<br/>[index.js]"]
  node_notes["Notes API<br/>[index.js]"]
  node_blogposts["Posts API<br/>[index.js]"]
  node_currency["Currency API<br/>[index.js]"]
  node_bmi["BMI API<br/>[app.js]"]
end

subgraph group_identity["Identity and Access"]
  node_registration["Registration API<br/>[app.js]"]
  node_jwt["JWT Auth API<br/>[server.js]"]
  node_otp["OTP Verification<br/>[authController.js]"]
  node_rbac["Role Access API<br/>[app.js]"]
  node_oauth["OAuth Provider<br/>[server.js]"]
end

subgraph group_domain["Domain APIs"]
  node_book["Book Lending<br/>[app.js]"]
  node_inventory["Inventory API"]
  node_playlist["Music Playlists<br/>[index.js]"]
  node_blog["Blog and Comments<br/>[server.js]"]
  node_travel["Travel Bucket List"]
  node_students["Student Management"]
  node_quiz["Quiz API<br/>[quizController.js]"]
end

subgraph group_advanced["Interactive and Integration APIs"]
  node_chat["Chat Backend<br/>[server.js]"]
  node_gateway["API Gateway<br/>[index.js]"]
  node_analytics["Analytics Tracker<br/>[app.js]"]
  node_resume["AI Resume Matcher<br/>[matchRoutes.js]"]
end

node_client(("API client"))

node_client -->|"calls API"| node_todo
node_client -->|"calls API"| node_notes
node_client -->|"calls API"| node_blogposts
node_client -->|"calls API"| node_currency
node_client -->|"calls API"| node_bmi
node_client -->|"calls API"| node_registration
node_client -->|"calls API"| node_jwt
node_client -->|"calls API"| node_otp
node_client -->|"calls API"| node_rbac
node_client -->|"calls API"| node_oauth
node_client -->|"calls API"| node_book
node_client -->|"calls API"| node_inventory
node_client -->|"calls API"| node_playlist
node_client -->|"calls API"| node_blog
node_client -->|"calls API"| node_travel
node_client -->|"calls API"| node_students
node_client -->|"calls API"| node_quiz
node_client -->|"connects"| node_chat
node_client -->|"calls API"| node_gateway
node_client -->|"calls API"| node_analytics
node_client -->|"calls API"| node_resume

click node_todo "https://github.com/joshylak/100-backend-projects/blob/main/To-do-List%20API/index.js"
click node_notes "https://github.com/joshylak/100-backend-projects/blob/main/Notes-Api/index.js"
click node_blogposts "https://github.com/joshylak/100-backend-projects/blob/main/Basic-Blog-Posts-Api/index.js"
click node_currency "https://github.com/joshylak/100-backend-projects/blob/main/currency-converter-api/index.js"
click node_bmi "https://github.com/joshylak/100-backend-projects/blob/main/bmi-api/app.js"
click node_registration "https://github.com/joshylak/100-backend-projects/blob/main/User-Registration/app.js"
click node_jwt "https://github.com/joshylak/100-backend-projects/blob/main/JWT-Auth-API/server.js"
click node_otp "https://github.com/joshylak/100-backend-projects/blob/main/Account-Verification-with-OTP/controllers/authController.js"
click node_rbac "https://github.com/joshylak/100-backend-projects/blob/main/Role-Based-Access-Control-Api/app.js"
click node_oauth "https://github.com/joshylak/100-backend-projects/blob/main/custom-oauth2-provider/server.js"
click node_book "https://github.com/joshylak/100-backend-projects/blob/main/Book-Lending-Api/app.js"
click node_inventory "https://github.com/joshylak/100-backend-projects/blob/main/Inventory-System-Api/controllers/inventoryController.js"
click node_playlist "https://github.com/joshylak/100-backend-projects/blob/main/Music-Playlist-Api/index.js"
click node_blog "https://github.com/joshylak/100-backend-projects/blob/main/blog-api/server.js"
click node_travel "https://github.com/joshylak/100-backend-projects/blob/main/Travel-Bucket-List-Api/controllers/destinationController.js"
click node_students "https://github.com/joshylak/100-backend-projects/blob/main/Student-Management-System-Api/studentController.js"
click node_quiz "https://github.com/joshylak/100-backend-projects/blob/main/Quiz-App-API/controllers/quizController.js"
click node_chat "https://github.com/joshylak/100-backend-projects/blob/main/chat-app-backend-API/server.js"
click node_gateway "https://github.com/joshylak/100-backend-projects/blob/main/custom-api-gateway/index.js"
click node_analytics "https://github.com/joshylak/100-backend-projects/blob/main/analytics-tracker-api/app.js"
click node_resume "https://github.com/joshylak/100-backend-projects/blob/main/ai-resume-matcher/routes/matchRoutes.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_todo,node_notes,node_blogposts,node_currency,node_bmi,node_client toneBlue
class node_registration,node_jwt,node_otp,node_rbac,node_oauth toneAmber
class node_book,node_inventory,node_playlist,node_blog,node_travel,node_students,node_quiz toneMint
class node_chat,node_gateway,node_analytics,node_resume toneRose
```

## Components

### Utility APIs

- [To-do API](https://github.com/joshylak/100-backend-projects/blob/main/To-do-List%20API/index.js): `To-do-List API/index.js`
- [Notes API](https://github.com/joshylak/100-backend-projects/blob/main/Notes-Api/index.js): `Notes-Api/index.js`
- [Posts API](https://github.com/joshylak/100-backend-projects/blob/main/Basic-Blog-Posts-Api/index.js): `Basic-Blog-Posts-Api/index.js`
- [Currency API](https://github.com/joshylak/100-backend-projects/blob/main/currency-converter-api/index.js): `currency-converter-api/index.js`
- [BMI API](https://github.com/joshylak/100-backend-projects/blob/main/bmi-api/app.js): `bmi-api/app.js`

### Identity and Access

- [Registration API](https://github.com/joshylak/100-backend-projects/blob/main/User-Registration/app.js): `User-Registration/app.js`
- [JWT Auth API](https://github.com/joshylak/100-backend-projects/blob/main/JWT-Auth-API/server.js): `JWT-Auth-API/server.js`
- [OTP Verification](https://github.com/joshylak/100-backend-projects/blob/main/Account-Verification-with-OTP/controllers/authController.js): `Account-Verification-with-OTP/controllers/authController.js`
- [Role Access API](https://github.com/joshylak/100-backend-projects/blob/main/Role-Based-Access-Control-Api/app.js): `Role-Based-Access-Control-Api/app.js`
- [OAuth Provider](https://github.com/joshylak/100-backend-projects/blob/main/custom-oauth2-provider/server.js): `custom-oauth2-provider/server.js`

### Domain APIs

- [Book Lending](https://github.com/joshylak/100-backend-projects/blob/main/Book-Lending-Api/app.js): `Book-Lending-Api/app.js`
- [Inventory API](https://github.com/joshylak/100-backend-projects/blob/main/Inventory-System-Api/controllers/inventoryController.js): `Inventory-System-Api/controllers/inventoryController.js`
- [Music Playlists](https://github.com/joshylak/100-backend-projects/blob/main/Music-Playlist-Api/index.js): `Music-Playlist-Api/index.js`
- [Blog and Comments](https://github.com/joshylak/100-backend-projects/blob/main/blog-api/server.js): `blog-api/server.js`
- [Travel Bucket List](https://github.com/joshylak/100-backend-projects/blob/main/Travel-Bucket-List-Api/controllers/destinationController.js): `Travel-Bucket-List-Api/controllers/destinationController.js`
- [Student Management](https://github.com/joshylak/100-backend-projects/blob/main/Student-Management-System-Api/studentController.js): `Student-Management-System-Api/studentController.js`
- [Quiz API](https://github.com/joshylak/100-backend-projects/blob/main/Quiz-App-API/controllers/quizController.js): `Quiz-App-API/controllers/quizController.js`

### Interactive and Integration APIs

- [Chat Backend](https://github.com/joshylak/100-backend-projects/blob/main/chat-app-backend-API/server.js): `chat-app-backend-API/server.js`
- [API Gateway](https://github.com/joshylak/100-backend-projects/blob/main/custom-api-gateway/index.js): `custom-api-gateway/index.js`
- [Analytics Tracker](https://github.com/joshylak/100-backend-projects/blob/main/analytics-tracker-api/app.js): `analytics-tracker-api/app.js`
- [AI Resume Matcher](https://github.com/joshylak/100-backend-projects/blob/main/ai-resume-matcher/routes/matchRoutes.js): `ai-resume-matcher/routes/matchRoutes.js`

### Other components

- **API client**

## Connections

- API client → To-do API: calls API
- API client → Notes API: calls API
- API client → Posts API: calls API
- API client → Currency API: calls API
- API client → BMI API: calls API
- API client → Registration API: calls API
- API client → JWT Auth API: calls API
- API client → OTP Verification: calls API
- API client → Role Access API: calls API
- API client → OAuth Provider: calls API
- API client → Book Lending: calls API
- API client → Inventory API: calls API
- API client → Music Playlists: calls API
- API client → Blog and Comments: calls API
- API client → Travel Bucket List: calls API
- API client → Student Management: calls API
- API client → Quiz API: calls API
- API client → Chat Backend: connects
- API client → API Gateway: calls API
- API client → Analytics Tracker: calls API
- API client → AI Resume Matcher: calls API
