Skip to content

Yatube - это социальная сеть для публикации личных дневников, работающая через API.

Notifications You must be signed in to change notification settings

elityaev/api_final_yatube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yatube

logo

Описание

Yatube - это социальная сеть для публикации личных дневников, работающая через API. Аутентифицированный пользователь может:

  • просматривать все имеющиеся посты, создавать, редактировать и удалять свои посты

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

http://127.0.0.1:8000/api/v1/posts/{id}

  • просматривать комментарии к постам, создавать новые, редактировать и удалять свои комментарии

http://127.0.0.1:8000/api/v1/posts/{post_id}/comments/

http://127.0.0.1:8000/api/v1/posts/{post_id}/comments/{id}/

  • просматривать список сообществ и информацию о конкретном сообществе

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

http://127.0.0.1:8000/api/v1/groups/{id}/

  • подписаться на других авторов и просматривать их список

http://127.0.0.1:8000/api/v1/follow/

Анонимным пользователям информация доступна только для чтения. Подписка на авторов постов анонимам не доступна.

Аутентификация

Аутентификация происходит по JWT-токену.

Доступные эндпоинты:

Технологии

  • Python
  • Django REST Framework
  • JWT + Djoser

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

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

git clone https://github.com/elityaev/api_final_yatube.git
api_final_yatube

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

python -m venv venv
.\venv\Scripts\activate
python -m pip install --upgrade pip

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

pip install -r requirements.txt

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

python3 manage.py migrate

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

python3 manage.py runserver

Пример запроса

Добавление новой публикации в коллекцию публикаций. Анонимные запросы запрещены http://127.0.0.1:8000/api/v1/posts/ Запрос:

{
  "text": "string",
  "image": "string",
  "group": 0
}

Ответ:

{
  "id": 0,
  "author": "string",
  "text": "string",
  "pub_date": "2019-08-24T14:15:22Z",
  "image": "string",
  "group": 0
}

**Подробная документация по проекту - http://127.0.0.1:8000/redoc/**

About

Yatube - это социальная сеть для публикации личных дневников, работающая через API.

Topics

Resources

Stars

Watchers

Forks