Getting Started

Installation

Get started with Movie Recommender

Prerequisites

Make sure you have the following installed:

  • Node.js (v18 or higher)
  • Git
  • npm
Run application commands from app/. Run documentation commands from docs/ only when you are editing docs.

Installation Steps

Clone the Repository

Terminal
git clone https://github.com/movie-recommender-yh4f/movie-recommender.git
cd movie-recommender

Setup App

Navigate to the app directory and install:

Terminal
cd app
npm install

Create app/.env (or app/.env.local) with your runtime configuration:

App .env
NUXT_PUBLIC_SUPABASE_URL=your_supabase_url
NUXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
NUXT_SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
NUXT_TMDB_API_KEY=your_tmdb_api_key
NUXT_PUBLIC_HCAPTCHA_SITE_KEY=your_hcaptcha_site_key
NUXT_HCAPTCHA_SECRET=your_hcaptcha_secret
UPSTASH_REDIS_REST_URL=your_upstash_redis_url
UPSTASH_REDIS_REST_TOKEN=your_upstash_redis_token
ADMIN_API_TOKEN=your_admin_token
NUXT_GOOGLE_API_KEY=your_google_ai_studio_key
NUXT_GOOGLE_MODELS=gemini-flash-lite-latest,gemini-2.5-flash-lite,gemini-2.0-flash-lite
NUXT_OPENROUTER_API_KEY=your_openrouter_api_key
NUXT_OPENROUTER_MODELS=google/gemini-2.5-flash-lite

The current server implementation expects these Supabase tables and helpers to exist before you use watched lists, My List, recommendations, import, or movie details caching:

  • movies
  • user_watched_movies
  • user_my_list
  • recommendations
  • RPC function auth_email_exists
  • RPC functions append_my_list and remove_my_list

Recommendation generation needs at least one AI provider to be configured:

  • Google AI Studio via NUXT_GOOGLE_API_KEY
  • OpenRouter via NUXT_OPENROUTER_API_KEY

If both are configured, the server tries Google models first and then OpenRouter models.

Start Development Server

Start the app:

Terminal
npm run dev

The application will be available at http://localhost:3000

Optional: Run Documentation Locally

If you want to work on the docs site too:

Terminal
cd ../docs
npm install
npm run dev

Verify Installation

Once everything is set up, you should be able to:

  1. Open http://localhost:3000 in your browser
  2. Sign in or create an account
  3. Search titles, open movie details, and use watched/My List actions

Troubleshooting

If you encounter any issues:

  • Ensure all dependencies are correctly installed
  • Check that environment variables are properly configured
  • Verify that Node.js version meets the requirements
  • Check the Troubleshooting guide for common issues
Copyright © 2026