A modern React application for discovering and tracking trending movies using TMDB API and Appwrite backend.
- π Real-time movie search with debounced API calls
- π Trending movies tracking based on search analytics
- π¨ Modern UI with Tailwind CSS and custom animations
- π± Fully responsive design
- β‘ Fast performance with Vite
- ποΈ Backend integration with Appwrite for analytics
- Frontend: React 19, Vite, Tailwind CSS
- Backend: Appwrite (Database, Analytics)
- API: The Movie Database (TMDB)
- Styling: Custom CSS with Tailwind utilities
- Build Tool: Vite with HMR
- Node.js 18+
- npm or yarn
- TMDB API key
- Appwrite account
- Clone the repository
git clone https://github.com/yourusername/react-app.git
cd react-app- Install dependencies
npm install- Set up environment variables
cp .env.example .env.local- Configure your
.env.local:
VITE_TMDB_API_KEY=your_tmdb_api_key
VITE_APPWRITE_PROJECT_ID=your_project_id
VITE_APPWRITE_DATABASE_ID=your_database_id
VITE_APPWRITE_TABLE_ID=your_table_id- Start the development server
npm run devsrc/
βββ components/
β βββ Header.jsx # Header with hero banner and title
β βββ MovieCard.jsx # Individual movie display component
β βββ MovieList.jsx # Grid layout for movie cards
β βββ Search.jsx # Search input component with debouncing
β βββ Spinner.jsx # Loading spinner component
β βββ TrendingMovies.jsx # Trending movies section
βββ services/
β βββ appwriteService.js # Appwrite backend integration
β βββ tmdbService.js # TMDB API service
βββ constants/
β βββ api.js # API endpoints and utilities
βββ App.jsx # Main application component
βββ App.css # Application-specific styles
βββ main.jsx # React app entry point
βββ index.css # Global styles and Tailwind config
- Movie search and discovery
- Popular movies fetching
- Movie details and metadata
- Centralized API configuration and error handling
- Search analytics tracking
- Trending movies calculation based on search frequency
- Real-time data updates
- User interaction analytics
- API endpoints configuration
- Image URL generation utilities
- Request headers and authentication setup
- Debounced search (500ms delay) - Reduces API calls during typing
- Optimized API calls - Centralized service layer with error handling
- Image lazy loading - Improved page load performance
- Responsive design patterns - Mobile-first approach
- Component-based architecture - Reusable and maintainable code structure
- Search analytics - Track popular searches for trending insights


