Skip to content

terrazavr/api_final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API для Yatube

Yatube - социальная сеть для публикации постов и статей. В данном репозитории реализован API для взаимодействия с данной платформой.

Функционал проекта:

  • Создание, получение, обновление, удаление публикаций
  • Создание, получение, обновление, удаление комментариев к постам
  • Просмотр сообществ по категориям
  • Подписка на любимых авторов, поиск авторов среди подписок
  • Все действия по изменению контента доступны только авторизованным пользователям (доступ по JWT токену)

Как запустить проект:

Клонировать репозиторий и перейти в него в командной строке:

html git clone git@github.com:terrazavr/api_final_yatube.git

cd api_final_yatube

Cоздать и активировать виртуальное окружение:

python3 -m venv env

Если у вас Linux/macOS

source env/bin/activate

Если у вас windows

source env/scripts/activate

Обновить pip

python3 -m pip install --upgrade pip

Установить зависимости из файла requirements.txt:

pip install -r requirements.txt

Выполнить миграции:

python3 manage.py migrate

Запустить проект:

python3 manage.py runserver

После запуска проекта, документация будет доступна по адресу:

http://localhost:port/redoc/

Примеры запросов к API:

Получить список всех постов (GET):

http://127.0.0.1:8000/api/v1/posts/

Получить определенный пост (GET):

http://127.0.0.1:8000/api/v1/posts/1/

Получить коментарии определенного поста (GET):

http://127.0.0.1:8000/api/v1/posts/1/comments/

Получить список всех групп (GET):

http://127.0.0.1:8000/api/v1/groups/

Создать новый пост (POST):

(Требуется аутентификация)

http://127.0.0.1:8000/api/v1/posts/