theTruth

2026

theTruth is a full-stack podcast streaming platform built as a university project, covering the complete surface of a real production app rather than a single-feature demo. The backend (Node.js/Express/MySQL) implements role-based access control across three tiers — ADMIN, MANAGER, and USER — with JWT authentication backed by refresh token rotation and bcrypt password hashing, so sessions stay secure without forcing constant re-logins. Media storage runs through AWS S3 with pre-signed URL generation, keeping direct file access off the main API and letting the client upload/stream audio without routing large files through the app server itself. Beyond auth and storage, the backend exposes a full content model: podcasts, episodes, categories, podcaster profiles, subscriptions, comments, playlists, and notifications, plus a transcript system that stores timecoded segments per episode (with flexible field aliases so imports from different transcript sources normalize cleanly). The API is documented via Swagger/OpenAPI. On the frontend, built with React 19 and Vite, playlist editing uses DnD Kit for drag-and-drop reordering, artwork gets dynamic color extraction for a more tailored per-episode UI, and an Axios interceptor handles automatic JWT refresh so expired tokens don't interrupt the user's session. Tailwind CSS handles styling, and Vite's dev proxy routes API calls cleanly during local development.