CineByte — Movie & TV Discovery App

React
TypeScript
Node.js
Express
NeDB
TMDb API
JWT

Full-stack web app for movie and TV show discovery, with a React + TypeScript frontend and an Express + TypeScript backend. Integrates the TMDb API for browsing, search, and metadata, plus JWT authentication with bcrypt password hashing, SMTP-based account verification, and a per-user favorites system.

A complete two-tier movie discovery platform: a React + TypeScript frontend talking to a typed Express backend, with The Movie Database (TMDb) as the data source.

Frontend

Backend

API surface

MethodEndpointDescription
POST/registerCreate a new user, send activation email
GET/activate?token=...Activate the account
POST/loginIssue a JWT
GET / PUT/profileRead or update the authenticated profile
GET / POST / DELETE/favoritesManage the user’s favorite movies and TV shows

Why it matters

CineByte is the project where I focused on shipping a polished product end-to-end: typed contracts on both sides of the wire, real authentication (not just a session cookie), real email verification (not a console log), and a UI that doesn’t feel like a homework submission. It’s also a clean reference for how I structure a TypeScript monorepo with separate client/ and server/ packages.