DFlix is a modern, responsive movie discovery web application built with React 19, Vite, and the OMDb API. Search for your favorite movies, explore in-depth details (cast, ratings, plot, runtime, awards), and leave custom persistent reviews.
- 🔍 Real-Time Movie Search: Instant movie querying powered by the OMDb API.
- 📱 Responsive Grid Layout: Optimized movie cards with lazy-loaded posters and fallback placeholders.
- 📄 Comprehensive Movie Details:
- IMDb ratings & badges
- Genre tags & runtime info
- Director, writer, and cast breakdown
- Awards and detailed plot synopsis
- 💬 Interactive User Reviews: Write and submit reviews stored locally in your browser (
localStorage). - 🎨 Modern UI/UX: Built with a sleek interface using Bootstrap 5, Tailwind CSS, and custom styling.
- ⚡ Blazing Fast: Powered by Vite build tool and React 19 for instantaneous hot module replacement (HMR).
| Category | Technology |
|---|---|
| Frontend Framework | React 19 |
| Build Tool | Vite 8 |
| Routing | React Router DOM v7 |
| Styling & UI | Bootstrap 5, React-Bootstrap, Tailwind CSS v4 |
| Icons | React Icons (Feather & FontAwesome), Heroicons |
| API | OMDb API (Open Movie Database) |
| Linter | Oxlint |
DFlix/
├── public/ # Static public assets
├── src/
│ ├── assets/ # Project media & icons
│ ├── components/ # Reusable UI components (Header, Navbar)
│ │ └── Header.jsx
│ ├── pages/ # Route views & page components
│ │ ├── Home.jsx # Movie search catalog & grid
│ │ ├── MovieCard.jsx # Individual movie card component
│ │ └── MovieDetails.jsx # Detailed info view & review system
│ ├── App.css # Component-level styles
│ ├── App.jsx # App layout and route declarations
│ ├── index.css # Global theme tokens & design system
│ └── main.jsx # Application entry point
├── package.json # Dependencies and scripts
└── vite.config.js # Vite configuration
Follow these steps to set up and run the project locally.
- Node.js (version 18+ recommended)
- npm or yarn
- An OMDb API Key (Free tier available)
-
Clone the repository:
git clone https://github.com/your-username/DFlix.git cd DFlix -
Install dependencies:
npm install
-
Configure API Key: Get your free API key from omdbapi.com and update the fetch endpoints in
src/pages/Home.jsxandsrc/pages/MovieDetails.jsx(or configure via environment variables). -
Start the development server:
npm run dev
-
Open in browser: Navigate to
http://localhost:5173to explore DFlix.
| Command | Description |
|---|---|
npm run dev |
Starts the Vite local development server |
npm run build |
Compiles and builds the production bundle |
npm run preview |
Previews the production build locally |
npm run lint |
Runs Oxlint for fast code analysis |
- Add Watchlist / Favorites functionality
- Add category filter (Movies, Series, Episodes)
- Integrate Trailer previews (YouTube embed API)
- Pagination & infinite scroll for movie search results
- Dark / Light mode toggle switch
This project is licensed under the MIT License.
Crafted with ❤️ by Darshan
- GitHub: @Bdarshan3007