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

Skip to content

firas1438/MovieNest

Repository files navigation

Introduction

MovieNest is a movie streaming and discovery platform where users can explore and enjoy movies and TV shows from every genre. Discover new favorites, revisit classics, and keep track of what you love, all in one seamless experience!

Features

  • Browse Movies: Navigate through a variety of movies pulled directly from TMDB. (The Movie Database)
  • Search Functionality: Querying movies/shows using keywords.
  • Movie Details: Using route parameters to display specific details including ratings, genres, release dates, and summaries.
  • Bookmarks: Save movies and shows to your personal watchlist so you can revisit them anytime.

Technologies

Technology Description
Next.js React framework for building fast, server-rendered web applications.
Shadcn/UI Beautifully designed, accessible components built with Radix and Tailwind.
Tailwind CSS framework for building responsive and modern user interfaces.
Supabase Backend-as-a-Service providing authentication, database, and API support.
Zustand Lightweight and intuitive state management for React.
Docker Containerization platform for consistent application deployment across environments.
TMDB Source for movie and TV show data.

Environment Variables

  • TMDB_API_KEY: API key from The Movie Database
  • NEXT_PUBLIC_SUPABASE_URL: Supabase project URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY: Supabase anonymous key
  • SUPABASE_SERVICE_ROLE_KEY: Supabase admin key

Docker Setup

This project is fully containerized. Run it using Docker for a consistent development and production environment.

  1. Ensure Docker and Docker Compose are installed
    You’ll need both Docker and Docker Compose installed on your machine.

    • Download Docker Desktop
    • Verify installation by running docker --version and docker compose version in your terminal.
  2. Create your environment file
    In the root of the project, create a file named .env and add your environment variables (see .env.example for reference).

    Make sure not to commit this file to version control (it contains sensitive information).

  3. Build and run the container
    From the project directory, run:

    docker compose up --build
  4. Access the app
    Once the build is complete, open your browser and go to:

    http://localhost:3000
  5. Stop the container
    To stop the app, press Ctrl + C or run:

    docker compose stop
  6. Restart the container (without rebuilding)
    To start it again later, use:

    docker compose start

Local Development

If you prefer running the project without Docker:

  1. Clone the repository

    git clone https://github.com/firas1438/MovieNest.git
  2. Install dependencies

    npm install
  3. Run the development server

    npm run dev

Contributing

Contributions are welcome! If you find any bugs or have suggestions for improvement, please open an issue or submit a pull request.

About

A platform for streaming, discovering, and enjoying movies and shows across different genres.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages