vinhbui107 / review-movie

🎬 A review movie website inspired by TMDb built with Django, DRF, ReactJS, Docker, Elasticsearch.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Review Movie

Cinema is the most beautiful fraud in the world. – Jean-Luc Godard

Review Movie inspired by TMDb with a movie dataset of over 27,000 movies, more than 20 genres.

Screenshoot for Kamu's multiple libraries

Features

Requirements

  • Python 3.8+ for API
  • Node.js 14+ for Frontend

Installation / Getting started

Here is a quick step-by-step minimal setup, to get the app up and running in your local workstation:

Platform independent

Move to API

cd api

Create Python virtual enviroment:

python3 -m venv venv

Activate virtual enviroment (this command can change based on OS):

source venv/bin/activate

Install backend dependencies using pip:

pip install -r requirements.txt

Create database tables:

python manage.py migrate

Create a super user:

python manage.py createsuperuser

Seed the database with initial dump data:

python3 manage.py runscript load_data

Index data for elasticsearch (Make sure you installed Elasticsearch in your machine)

python3 manage.py search_index --rebuild

Install dependencies using npm for Frontend:

cd frontend
npm install

Start your local server:

npm start

After finished config for API and Frontend. Now just go to http://localhost:3000 in your browser :)

Using Docker for local development

Remember to create a .env file with all the environment variables you need for spining up the environment.

For building the image:

  make docker-build

Create database tables:

  make docker-migrate

Create a super user:

  make docker-createsuperuser

You will use this super user to login as administrator in your local application.

Seed the database with initial dump data:

  make docker-loaddata

Index the data for Elasticsearch:

  make docker-indexdata

Now just go to http://localhost:3000 in your browser :)

Stop your environment:

  make docker-down

Have fun :)

Thanks!

About

🎬 A review movie website inspired by TMDb built with Django, DRF, ReactJS, Docker, Elasticsearch.

License:MIT License


Languages

Language:Python 47.9%Language:JavaScript 41.1%Language:SCSS 9.4%Language:Makefile 0.7%Language:HTML 0.4%Language:Dockerfile 0.4%Language:CSS 0.1%