Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Zhoha28/MovieMood

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎬 MovieMood

MovieMood is a sleek and modern movie discovery app built with React, Appwrite, and the TMDB API. Users can search for movies, view trending results, and track the most searched movie terms using Appwrite's database.


πŸ“Έ Preview

Discover movies, view trending searches, and enjoy a smooth, interactive UI.*


πŸš€ Features

  • πŸ”Ž Search Movies – Find movies using the TMDB API.
  • πŸ”₯ Trending Searches – View top searched movies.
  • πŸ—‚ Appwrite Integration – Track and store search counts for analytics.
  • ⏱ Debounced Search – Prevents unnecessary API calls while typing.
  • πŸ“± Responsive UI – Works great across screen sizes.

πŸ›  Tech Stack

  • Frontend: React, TailwindCSS
  • API: TMDB (The Movie Database)
  • Backend: Appwrite (Database & ID service)

πŸ“¦ Installation

git clone https://github.com/Zhoha28/MovieMood.git
cd moviemood
npm install

πŸ§ͺ Setup .env file

Create a .env file in the root:

VITE_TMDB_API_KEY=your_tmdb_api_key
VITE_APPWRITE_PROJECT_ID=your_appwrite_project_id
VITE_APPWRITE_DB_ID=your_appwrite_db_id
VITE_APPWRITE_COLLECTIONS_ID=your_appwrite_collection_id

▢️ Run the App

npm run dev

Visit http://localhost:5173


βš™οΈ Appwrite Configuration

  1. Create a project on Appwrite Cloud.
  2. Create a Database and Collection with these fields:
    • searchTerm (String)
    • count (Number)
    • movie_id (String)
    • poster_url (String)
  3. Update permissions to allow public access (role:all) for read/write (for testing).
  4. Add your origin (http://localhost:5173) to CORS settings.

βš›οΈ React Hooks Used

  • useState – For managing local state (e.g., searchTerm, movie list, loading)
  • useEffect – To fetch movies on search term update
  • useDebounce (from react-use) – For optimizing API calls by waiting for user to stop typing

πŸ“ Folder Structure

src/
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ Search.jsx
β”‚   β”œβ”€β”€ MovieCard.jsx
β”‚   β”œβ”€β”€ Spacer.jsx
β”‚   └── Spinner.jsx
β”œβ”€β”€ appwrite.js
β”œβ”€β”€ App.jsx
└── main.jsx

πŸ™‹β€β™‚οΈ Credits

  • πŸŽ₯ TMDB API for movie data
  • ☁️ Appwrite for backend services

About

🎬 Discover trending movies and track search insights β€” built with React, TMDB API, and Appwrite.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published