Skip to content

iplitharas/movierama

Repository files navigation

Movierama 🍿📽️ 🎞️

Movies social sharing platform

project

Table of contents

  1. Local development
  2. Local docker development
  3. Project folder structure
  4. Api docs

Local development

NOTE: for local development 💻 the used database is the sqlite3

Requirements

  1. python version: 3.8.6
  2. poetry version: 1.3.1

Setup your local env:

Run the following command:

make install-local

asciicast for creating:

  1. new python venv: .env
  2. install the dependencies using poetry
  3. install the pre-commit hooks
  4. Create and run the migrations
  5. create sample fake users/movies

Start the webserver 🐍

source .env/bin/activate && ./manage.py runserver

To see all the available 💁 commands run.

make help  

Run test-cases

make test 

Local docker development

For local docker 🐳 development use the following commands:

Install pre-commit hooks

make install-hooks

Create migrations, migrate and create sample data

make sample-movies-docker

Start containers

make dev-up

Stop containers

make dev-down

Project folder structure

movierama
    ├── movies         # Django models 
    └── accounts       # Custom User model, authenticattion 
    └── api            # Rest API
    └── config         # Django global settings
    └── web_app        # Web application
    └── templates      # HTML templates
    └── tests          # Pytest test cases

Api docs

For interacting with the API you can see all the available endpoints from:

  • swagger-docs : /swagger/
  • redoc: /redoc/
  • django-rest-framework :/api/movies/v1/

For examples check: api-docs-examples

NOTE: ⚠️

  1. Due to an open-bug to swagger-docs for the api it's not possible to upload a movie cover. If you want to create a movie with a movie-cover create a new one from the homepage
  2. the API endpoints aren't used from the templates, instead the web-app-endpoints are used

About

Movies social sharing platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published