How nerain-prakas/flyrank_internship works
This repository is a collection of backend internship exercises rather than one deployed application: task APIs progress from in-memory CRUD to database-backed CRUD, alongside a Supabase-auth API and a polite book scraper. The main API workflow is HTTP request → route dispatch → controller validation/business logic → task store → JSON response. Sampled source confirms these links; database internals and some route wiring are represented only where the tree and available excerpts support them.
Main entry points: index.js Scraper runner · auth.js Auth routes · app.js Task API app · tasks.js Task routes
Components 26
In-Memory CRUD
- Task API app
Week 2 Backend Api/app.js - Task routes
Week 2 Backend Api/routes/tasks.js - Task controller
Week 2 Backend Api/controllers/taskController.js
Database CRUD
- Database API app
Connecting your CRUD to the database/app.js - Task routes
Connecting your CRUD to the database/routes/tasks.js - Task controller
Connecting your CRUD to the database/controllers/taskController.js - Task store
Connecting your CRUD to the database/db.js - SQLite database
Connecting your CRUD to the database/tasks.db - Postgres API app
W3-Postgres integration/app.js - Task routes
W3-Postgres integration/routes/tasks.js - Task controller
W3-Postgres integration/controllers/taskController.js - Task store
W3-Postgres integration/db.js - Postgres database
Authentication API
- Auth API app
W2-A4 Auth and Login Protect/app.js - Auth routes
W2-A4 Auth and Login Protect/routes/auth.js - Token middleware
W2-A4 Auth and Login Protect/middleware/auth.js - Auth controller
W2-A4 Auth and Login Protect/controllers/authController.js
Book Scraper
- Scraper runner
W5 · A9 — The polite scraper/src/index.js - Catalogue parser
W5 · A9 — The polite scraper/src/parser.js - HTML cache
- Book records
W5 · A9 — The polite scraper/output/books.json - Scrape errors
W5 · A9 — The polite scraper/output/errors.json - Run report
W5 · A9 — The polite scraper/output/run-report.json
Other components
- API client
- Supabase Auth
- Book catalogue
Connections 25
- API client → Task API app: sends requests
- Task API app → Task routes: mounts routes
- Task routes → Task controller: dispatches
- API client → Database API app: sends requests
- Database API app → Task routes: mounts routes
- Task routes → Task controller: dispatches
- Task controller → Task store: calls
- Task store → SQLite database: reads/writes
- API client → Postgres API app: sends requests
- Postgres API app → Task routes: mounts routes
- Task routes → Task controller: dispatches
- Task controller → Task store: calls
- Task store → Postgres database: queries
- API client → Auth API app: sends requests
- Auth API app → Auth routes: mounts routes
- Auth routes → Auth controller: dispatches
- Auth routes → Token middleware: protects routes
- Auth controller → Supabase Auth: authenticates
- Token middleware → Supabase Auth: validates token
- Scraper runner → Book catalogue: fetches pages
- Scraper runner → HTML cache: reads/writes cache
- Scraper runner → Catalogue parser: parses HTML
- Scraper runner → Book records: writes records
- Scraper runner → Scrape errors: writes errors
- Scraper runner → Run report: writes report