Учебный проект Яндекс Практикум (курс Python-разработчик).
API-сервис для социальной сети Yatube, позволяющий настроить полное взаимодействие с социальной сетью через сторонний интерфейс. Аутентификация реализована с использованием JWT-токенов.
api/v1/jwt/create/
(POST): передаём логин и пароль, получаем токен;api/v1/jwt/refresh/
(POST): обновляем токен;api/v1/jwt/verify/
(POST): проверяем токен;api/v1/posts/
(GET, POST): получаем список всех постов или создаём новый пост;api/v1/posts/{post_id}/
(GET, PUT, PATCH, DELETE): получаем, редактируем или удаляем пост поid
;api/v1/groups/
(GET): получаем список всех групп;api/v1/groups/{group_id}/
(GET): получаем информацию о группе поid
;api/v1/posts/{post_id}/comments/
(GET, POST): получаем список всех комментариев поста сid=post_id
или создаём новый, указавid
поста, который хотим прокомментировать;api/v1/posts/{post_id}/comments/{comment_id}/
(GET, PUT, PATCH, DELETE): получаем, редактируем или удаляем комментарий поid
у поста сid=post_id
;api/v1/follow/
(GET, POST): получаем список всех подписок пользователя или подписываемся на другого пользователя.
Подробная документация к API будет доступна после запуска проекта по адресу:
http://127.0.0.1:8000/redoc/
Клонировать репозиторий и перейти в директорию проекта:
git clone https://github.com/bvsvrvb/praktikum-yatube-api.git
cd praktikum-yatube-api
Cоздать и активировать виртуальное окружение:
python -m venv venv
source venv/Scripts/activate
Установить зависимости из файла requirements.txt:
python -m pip install --upgrade pip
pip install -r requirements.txt
Перейти в директорию с manage.py и выполнить миграции:
cd yatube_api
python manage.py migrate
Создать суперпользователя для админ-панели:
python manage.py createsuperuser
Запустить сервер разработчика:
python manage.py runserver