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:
moviesuser_watched_moviesuser_my_listrecommendations- RPC function
auth_email_exists - RPC functions
append_my_listandremove_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:
- Open
http://localhost:3000in your browser - Sign in or create an account
- 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