A modern movie and TV show discovery application built with Next.js, featuring user authentication, personalized library management, and comprehensive content browsing.
TMDB Improved is a full-featured entertainment discovery platform that allows users to browse movies and TV shows, create personalized watchlists and favorites, read and write reviews, and search across content with advanced filtering options.
- Frontend: Next.js 16, React 19, TypeScript, Tailwind CSS 4
- UI Components: shadcn/ui, Radix UI
- Backend: Convex (database and real-time backend)
- Authentication: Better Auth with Convex integration
- APIs: The Movie Database (TMDB) API v3
- OAuth: GitHub and Google (optional)
- Node.js 18 or higher
- npm, yarn, pnpm, or bun
- TMDB API key (Get one here)
- Convex account (Sign up here)
- OAuth app credentials (optional, for GitHub/Google login)
-
Clone the repository
git clone https://github.com/AndrewN04/tmdb-app.git cd tmdb-app -
Install dependencies
npm install
-
Set up Convex
npx convex dev
This will create a new Convex project, generate deployment URLs, and push your schema and functions.
-
Create a
.env.localfile in the root directory with the following variables:# TMDB API TMDB_API_TOKEN=your_tmdb_api_token_here # Convex NEXT_PUBLIC_CONVEX_URL=your_convex_deployment_url NEXT_PUBLIC_CONVEX_SITE_URL=http://localhost:3000 # Better Auth SITE_URL=http://localhost:3000 # OAuth Providers (Optional) AUTH_GITHUB_ID=your_github_oauth_app_client_id AUTH_GITHUB_SECRET=your_github_oauth_app_client_secret AUTH_GOOGLE_ID=your_google_oauth_client_id AUTH_GOOGLE_SECRET=your_google_oauth_client_secret
-
Run the development server
npm run dev
-
Open http://localhost:3000 in your browser