Проект является бэкендом портала обзоров на различные произведения искусства, включающий систему публикации сведений о произведении, обзоров и комментариев к ним. Включает в себя базу данных и открытый API.
Возможности API
- Администраторам: публиковать сведения о произведениях
- Получить сведения об оцениваемых произведениях
- Публиковать обзоры и рецензии
- Публиковать комментарии к обзорам и рецензиям
Примеры запросов
Публикация обзора:
POST /api/v1/titles/{title_id}/reviews/
Тело: { "text": "Текст вашего обзора", "score": "оценка произведения" }
Просмотр обзоров:
GET /api/v1/titles/{title_id}/reviews/
Ответ:
{
"count": 0,
"next": "string",
"previous": "string",
"results": [
{
"id": 0,
"text": "string",
"author": "string",
"score": 1,
"pub_date": "2019-08-24T14:15:22Z"
}
]
}
Публикация комментария:
POST /api/v1/titles/{title_id}/reviews/{review_id}/comments/
Тело: { "text": "Текст вашего комментария" }
Просмотр комментариев:
GET /api/v1/titles/{title_id}/reviews/{review_id}/comments/
Ответ:
{
"count": 0,
"next": "string",
"previous": "string",
"results": [
{
"id": 0,
"text": "string",
"author": "string",
"pub_date": "2019-08-24T14:15:22Z"
}
]
}
Запуск проекта локально
- Клонировать репозиторий и перейти в папку "infra":
git clone git@github.com:S-Sagalov/ArtAppreciation.git
cd infra
- Запустить сборку контейнеров:
docker-compose -up
- Выполнить миграции:
docker-compose exec web python manage.py migrate
- Создать суперпользователя:
docker-compose exec web python manage.py createsuperuser
- Собрать файлы статики:
docker-compose exec web python3 manage.py collectstatic --no-input
- Заполнить базу данными:
docker-compose exec web python manage.py loaddata fixtures.json