Skip to content

stranded-in-python/movix

Repository files navigation

Movix

API ETL Admin Auth CI: UGC

CI: Notif-Worker CI: Notif-API CI: Notif-scheduler CI: Notif-ETL

CI: Billing-API

What is this?

This is a project of 11th group of 25th stream (previously 7th of 24th) of Yandex Practicum for Middle Python Developers. The goal of the project is to build a online streaming platform.

What is under the hood?

Django 4.1, Elasticsearch, Redis, Postgres, FastAPI

Project Architecture

Scheme of Movix app

movix-as-is

Scheme of Movix-admin

movix-admin

Scheme of Movix-auth

movix-admin

Scheme of Movix-api

movix-api

Scheme of Movix-etl

movix-etl

Scheme of Movix-UGC

movix-ugc

Scheme of Movix-notification

image

Architecture of Billing and Subscriptions API

Specification

## How to install

You need to make shure, that ElasticSearch is configured properly on your machine to run this project: StackOverflow Link

For starters, we need to initialize the project:

git clone [email protected]:stranded-in-python/movix.git && cd movix && make init

For local up (whithout Kafka):

make up

For local up with Kafka:

make upfull

To stop all containers:

make down

Deployment

For deployment you could use Docker Swarm.

Configure Swarm, as described in manual.

Then you need to create .env files for production at .envs/.production. An example what .env files should look like lies at .envs/.production.example/*.

Then run:

export COMPOSE_PROJECT_NAME=movix_production
docker stack deploy -c production.yml -c kafka.yml

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •