https://github.com/evteevakb/online-cinema
Microservice-based backend for an online cinema platform with user authentication, admin panel, API gateway, and ETL pipeline to Elasticsearch
https://github.com/evteevakb/online-cinema
django docker elasticsearch fastapi jaeger postgresql python redis
Last synced: 3 months ago
JSON representation
Microservice-based backend for an online cinema platform with user authentication, admin panel, API gateway, and ETL pipeline to Elasticsearch
- Host: GitHub
- URL: https://github.com/evteevakb/online-cinema
- Owner: evteevakb
- Created: 2025-05-05T11:23:37.000Z (about 1 year ago)
- Default Branch: develop
- Last Pushed: 2025-06-06T15:46:21.000Z (about 1 year ago)
- Last Synced: 2025-09-10T23:13:23.065Z (10 months ago)
- Topics: django, docker, elasticsearch, fastapi, jaeger, postgresql, python, redis
- Language: Python
- Homepage:
- Size: 2.31 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Online Cinema
This is a repository for the online cinema platform.
## Repository Structure
The repository is organized as follows:
```python
├── backup # backup files
│ ├── admin # DB dumps
│ └── elastic # Elasticsearch dumps
│
├── deploy
│ ├── init # shared infrastructure configs and entrypoints
│ └── admin, api, auth, etl, events_api, events_etl # service deployment files
│
├── docs # documentation-related files
│ └── diagrams # diagrams used for documentation
│ ├── out # diagrams in PNG format (rendered output)
│ └── src # diagrams in PlantUML format (source files)
│
├── services # core backend services
│ ├── admin # admin panel
│ ├── api # API gateway
│ ├── auth # authentication and authorization service
│ ├── etl # ETL pipeline from PostgreSQL to Elasticsearch
│ ├── events_api # service for collecting user events
│ └── events_etl # ETL pipeline from Kafka to ClickHouse
│
├── .gitignore
├── pyproject.toml # shared dev tools configuration (linters, type checkers)
└── README.md
```
## Running Services for the Current Sprint
To run the services for the current sprint, follow the instructions in the [`deploy/events_etl/README.md`](./deploy/events_etl/README.md)
## Development Setup
Use [`uv`](https://github.com/astral-sh/uv) for dependency and virtual environment management.
**Create and activate a virtual environment:**
```bash
uv venv
.venv\Scripts\activate # Windows
source .venv/bin/activate # Linux/macOS
```
**Install development tools:**
```bash
uv sync --group lint
```
**Sort imports:**
```bash
uv run isort .
```
**Format code:**
```bash
uv run ruff format .
```
**Check typing:**
```bash
uv run mypy .
```