Skip to content

devltt404/devflix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Devflix is a movie database website with a machine learning-powered recommendation system that provides relavant movie suggestions.

DevFlix

Table of Contents

Tech Stack 🛠️

Features 🚀

  • UI Light/Dark modes
  • SEO optimization with Next.js Server-side Rendering
  • Movies recommendation model built with scikit-learn

Running Locally 🧪

Prerequisites

Steps

Step 1: Clone the Repository

Clone the DevFlix repository to your local machine: bash Copy code

git clone https://github.com/devltt404/devflix
cd devflix

Step 2: Setup the Server (Back-End)

  1. Navigate to server folder

    cd server

Note

Optional: It's a good practice to create a virtual environment to manage dependencies for your project:

python -m venv venv
source venv/bin/activate
  1. Install Required Python Libraries

    pip install -r requirements.txt
  2. Setup env variables

    Copy the .env.example to .env and update the variables.

    cp .env.example .env

Step 3: Set Up the Services with Docker Compose

We use Docker Compose to set up and run PostgreSQL locally.

  1. Start services

    docker-compose -f docker-compose.local.yml up -d
  2. Verify running Containers

    docker ps

    You should see the following services listed:

    • postgres on port 5433

Step 4: Make migrations

python manage.py makemigrations
python manage.py migrate

Step 5: Setup Machine Learning Model

python manage.py build-model

Note: This step might take a few minutes. Please wait until it completes.

Step 6: Set Up the Client (Front-End)

  1. Navigate to the client folder:

    cd ../client
  2. Install Dependencies

    npm i
  3. Setup env variables

    Copy the .env.example to .env.

    cp .env.example .env

Important

You must provide values for TMDB_API_KEY, GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET

Step 7: Set Up the Database with Prisma

  1. Run Prisma migrations to set up your database schema:

    npx prisma migrate dev
  2. Generate Prisma Client

    npx prisma generate
  3. Seed sample movie data to the database

    npm run seed

Last Step: Run the Website

npm run web-dev

Access the website through your browser at: http://localhost:5173

About

🎬 Devflix is a full-stack movie database website built with Next.js, Django and PostgreSQL. It utilizes a machine learning model for movie recommendations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors