How sonsonyyy/podcast works
Podcast is a small NestJS backend. The main workflow is an HTTP client creating, listing, filtering featured episodes, or retrieving an episode; the episodes controller validates input and delegates episode operations to a service that keeps records in memory. A configuration service is called for logging, and a separate topics module is registered, though its behavior is not shown in the sampled source. No persistent database or external service is evidenced.
Main entry points: episodes.controller.ts Episode routes · app.module.ts App composition · episodes.service.ts Episode operations · app.controller.ts Root endpoint
Components 14
HTTP runtime
- Nest bootstrap
src/main.ts - App composition
src/app.module.ts - Root endpoint
src/app.controller.ts - Greeting service
src/app.service.ts
Episode handling
- Episode routes
src/episodes/episodes.controller.ts - Episode operations
src/episodes/episodes.service.ts - In-memory episodes
src/episodes/episodes.service.ts - Create episode input
src/episodes/dto/create-episode.dto.ts - Episode model
src/episodes/entity/episode.entity.ts - Positive limit check
src/pipes/is-positive/is-positive.pipe.ts
Supporting services
- Config module
src/config/config.module.ts - Config logger
src/config/config.service.ts - Topics module
src/topics/topics.module.ts
Other components
- HTTP client
Connections 15
- HTTP client → Episode routes: calls episode routes
- HTTP client → Root endpoint: calls root route
- Nest bootstrap → App composition: creates application
- Root endpoint → Greeting service: calls greeting
- Episode routes → Episode operations: delegates episode operations
- Episode routes → Config logger: calls logging
- Episode routes → Positive limit check: validates limit
- Episode routes → Create episode input: validates create input
- Episode operations → In-memory episodes: reads and writes
- Episode operations → Episode model: uses episode records
- App composition → Root endpoint: registers controller
- App composition → Greeting service: registers provider
- App composition → Topics module: imports module
- App composition → Episode routes: imports episode module
- Config module → Config logger: provides service