База данных произведений (Practicum by Yandex education project)
Проект доступен по адресу - http:https://130.193.48.5/redoc/
YaMDB учебный проект базирующийся на:
- Python 3.7
- Django 2.2.28
- Docker 20.10.18
- Nginx 1.21.3
- Postgres - 13.0
REST API сервис для YaMDB (база данных музыки, книг, фильмов и т.д.).
Полная CRUD имплементация для моделей Title, User.
Зарегистрированные пользователи могут публиковать отзывы
Незарегистрированные пользователи могут оставлять комментарии к отзывам.
nano infra/.env
SECRET_KEY='key'
DEBUG=False
ALLOWED_HOSTS='localhost web 127.0.0.1'
DB_ENGINE=django.db.backends.postgresql
DB_NAME=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres-pass
DB_HOST=db
DB_PORT=5432
cd infra
docker compose up -d --build
docker compose exec web python manage.py migrate
docker compose exec web python manage.py loaddata db.json
docker compose exec web python manage.py createsuperuser --username=admin [email protected]
docker compose exec web python manage.py collectstatic --no-input
{
"email": "string",
"username": "string"
}
На адрес электронной почты придет код регистрации
{
"username": "string",
"confirmation_code": "string"
}
{
"token": "string"
}
category (string) фильтрует по полю slug категории
genre (string) фильтрует по полю slug жанра
name (string) фильтрует по названию произведения
year (integer) фильтрует по году
[
{
"count": 0,
"next": "string",
"previous": "string",
"results": [
{
"id": 0,
"name": "string",
"year": 0,
"rating": 0,
"description": "string",
"genre": [
{
"name": "string",
"slug": "string"
}
],
"category": {
"name": "string",
"slug": "string"
}
}
]
}
]
name (required, string) Название
year (required, integer) Год выпуска
description (string) Описание
genre (required, Array of strings) Slug жанра
category (required, string) Slug категории
{
"name": "string",
"year": 0,
"description": "string",
"genre": [
"string"
],
"category": "string"
}
{
"id": 0,
"name": "string",
"year": 0,
"rating": 0,
"description": "string",
"genre": [
{
"name": "string",
"slug": "string"
}
],
"category": {
"name": "string",
"slug": "string"
}
}
Evgeny Semenov
MIT