Учебный проект, по разработке Yatube — онлайн-сервиса для публикации дневников, пользователи которого могут подписываться на публикации понравившихся авторов.
Для проекта, на базе DRF, разработанно REST API c JWT авторизацией. Незарегистрированному пользователю доступны методы просмотра, после регистрации пользователя на сайте появляется возможность получить JWT-токен и изменять данные.
После запуска проекта описание API доступно по адресу:
http://127.0.0.1:8000/redoc/
Процесс установки описан в официальном руководстве.
git clone git@github.com:wertigo285/yatube.git
Тесты для REST api написанны на pytest. Для запуска в папке проекта выполнить команду:
pytest
Тесты для веб-приложения написанный на djaingo-unittest:
python manage.py test
Для запуска проекта в папке клонированного репозитория необходимо выполнить команду.
docker-compose up
После построения образов приложение Yatube будет развернуто в виде двух docker контейнеров:
- web - контейнер веб-приложения, загруженный из образа
- nginx - контейнер с веб-серером
Для начального заполнения базы тестовыми данными в корневой папке проекта необходимо выполнить команды:
docker exec -it web python manage.py makemigrations
docker exec -it web python manage.py migrate
docker exec -it web python manage.py collectstatic
docker exec -it web python manage.py loaddata data_dump.json
docker exec -it web python manage.py createsuperuser
docker exec -it web python manage.py makemigrations
docker exec -it web python manage.py migrate
docker exec -it web python manage.py loaddata data_dump.json
В командной строке, в папке репозитория выполнить:
docker-compose down