How qosam217/inst-sons works
Inst Sons is a web utility suite whose main workflow is an authenticated user selecting a tool, submitting a file or YouTube URL, and receiving a processed download; audio and YouTube jobs additionally expose status polling. The frontend pages and services connect users to the Express API, whose modular routes dispatch to controllers and domain services. PDF and image processing are documented as buffer-based where applicable; audio tasks use temporary files. README capabilities guide unsampled subsystem coverage; detailed service and frontend-page wiring was not inspected, so those links are shown only at documented API boundaries.
Main entry points: server.js Express server · app Next.js app · api.js API client · audio.routes.js Audio routes
Components 29
Web interface
- Next.js app
frontend/src/app - Auth context
frontend/src/context/AuthContext.js - API client
frontend/src/services/api.js - Auth client
frontend/src/services/authService.js - PDF client
frontend/src/services/pdfService.js - Image client
frontend/src/services/imageService.js - Music client
frontend/src/services/musicService.js
API and access
- Express server
backend/server.js - Auth routes
backend/modules/auth/auth.routes.js - Auth controller
backend/modules/auth/auth.controller.js - Auth service
backend/modules/auth/auth.service.js - JWT guard
backend/core/auth.middleware.js
PDF and images
- PDF routes
backend/modules/pdf/pdf.routes.js - PDF controller
backend/modules/pdf/pdf.controller.js - PDF operations
backend/modules/pdf/pdf.service.js - Image routes
backend/modules/image/image.routes.js - Image controller
backend/modules/image/image.controller.js - Image operations
backend/modules/image/image.service.js
Audio processing
- Audio routes
backend/modules/audio/audio.routes.js - Audio controller
backend/modules/audio/audio.controller.js - Audio tasks
backend/modules/audio/audio.service.js - YouTube routes
backend/modules/youtube/youtube.routes.js - YouTube controller
backend/modules/youtube/youtube.controller.js - YouTube tasks
backend/modules/youtube/youtube.service.js
Persistence and cleanup
- PostgreSQL
backend/core/db.js - Temp files
backend/temp - Cleanup service
backend/core/cleanup.service.js
Other components
- User
- YouTube
Connections 37
- User → Next.js app: uses
- Next.js app → Auth context: checks session
- Next.js app → Auth client: requests auth
- Next.js app → PDF client: requests PDF
- Next.js app → Image client: requests images
- Next.js app → Music client: requests audio
- Auth client → API client: calls API
- PDF client → API client: calls API
- Image client → API client: calls API
- Music client → API client: calls API
- API client → Express server: HTTP requests
- Express server → Auth routes: mounts routes
- Express server → PDF routes: mounts routes
- Express server → Image routes: mounts routes
- Express server → Audio routes: mounts routes
- Express server → YouTube routes: mounts routes
- Auth routes → Auth controller: dispatches
- Auth controller → Auth service: calls
- Auth service → PostgreSQL: queries users
- PDF routes → JWT guard: authorizes
- PDF routes → PDF controller: dispatches
- PDF controller → PDF operations: calls
- Image routes → JWT guard: authorizes
- Image routes → Image controller: dispatches
- Image controller → Image operations: calls
- Audio routes → JWT guard: authorizes
- Audio routes → Audio controller: dispatches
- Audio controller → Audio tasks: creates and polls
- Audio routes → Temp files: stores uploads
- Audio tasks → Temp files: reads and writes
- YouTube routes → JWT guard: authorizes
- YouTube routes → YouTube controller: dispatches
- YouTube controller → YouTube tasks: creates and polls
- YouTube tasks → YouTube: extracts audio
- YouTube tasks → Temp files: stores output
- Cleanup service → Temp files: cleans files
- Express server → Cleanup service: starts cleanup