A modern movie discovery application built with Next.js, featuring real-time movie data from The Movie Database (TMDB).
- Framework: Next.js 16 with React 19
- Language: TypeScript
- Styling: Tailwind CSS v4
- UI Components: Shadcn/ui
- Animations: Motion
- Icons: Lucide React
- API: TMDB API (tmdb-ts)
- Theme: next-themes (dark/light mode)
- 🎬 Browse popular movies with detailed information
- 🖼️ High-quality movie posters and backdrops
- 🌟 Movie ratings and reviews
- 📱 Responsive design for all devices
- 🌙 Dark/light theme toggle
- ⚡ Server-side rendering and static generation
- 🎭 Smooth animations and transitions
-
Clone the repository
git clone <repository-url> cd ntmdb
-
Install dependencies
bun install
-
Set up environment variables Create a
.env.localfile and add your TMDB API key:NEXT_PUBLIC_TMDB_API_KEY=your_tmdb_api_key_here
-
Run the development server
bun run dev
-
Open http://localhost:3000 in your browser
src/
├── app/ # Next.js app router pages
│ ├── movie/[id]/ # Individual movie pages
│ └── page.tsx # Home page
├── components/ # React components
│ ├── ui/ # Shadcn/ui components
│ └── *.tsx # Custom components
├── lib/ # Utility libraries
│ ├── server-actions.ts # Server actions
│ ├── tmdb.ts # TMDB API client
│ └── utils.ts # Helper functions
└── assets/ # Static assets
bun run dev- Start development serverbun run build- Build for productionbun run start- Start production serverbun run lint- Run ESLint
| Variable | Description | Required |
|---|---|---|
NEXT_PUBLIC_TMDB_API_KEY |
Your TMDB API key from themoviedb.org | Yes |
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.