Skip to content

IlyaER/api_final_yatube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект ятруба́

Социальная сеть

Описание

Социалочка для лытдыбров API для взаимодействия соцсети с внешними приложениями.

Концепция от заказчика

Необходимо разработать социальную сеть для публикации личных дневников. Это будет сайт, на котором можно создать свою страницу. Если на нее зайти, то можно посмотреть все записи автора. Пользователи смогут заходить на чужие страницы, подписываться на авторов и комментировать их записи. Автор может выбрать имя и уникальный адрес для своей страницы. Дизайн можно взять самый обычный, но красивый. Тексты без особой разметки. Должно выглядеть нормально, поиграйте со шрифтами. Еще надо иметь возможность модерировать записи и блокировать пользователей, если начнут присылать спам. Записи можно отправить в сообщество и посмотреть там записи разных авторов. Вы же программисты, сами понимаете, как лучше сделать.

###Техническое задание Находится по адресу /redoc/ ###Списки требований реализованный API для коммуникации с сервисом ###Пользовательские истории ###Тесты приемки выполняются командой pytest в виртуальной среде после установки зависимостей ###Дизайн неприменимо ###Структура Главная страница API (api/v1/)

  • публикации (posts/)
  • комментарии (posts//comments)
  • страницы сообществ (groups/)
  • подписки (follow/)
  • аутентификация через JWT (jwt/create, jwt/refresh, jwt/verify)

Этапы разработки

Архитектура приложения

Внешний вид (дизайн)

  • Test Driven Development
  • Планирование модулей
  • Написание тестов для модулей
  • Написание программного кода
  • Проверка тестами
  • Ручная проверка (ревью)
  • Релиз

Технологии

Python 3.7 Django 2.2.19 Django REST Framework 3.12.4 SimpleJWT 4.7.2 Djoser 2.1.0

Запуск проекта в dev-режиме

  • Установите и активируйте виртуальное окружение
python -m venv venv

Activate

	venv/Scripts/activate

(для отключения виртуального окружения)

	deactivate
  • Установите зависимости из файла requirements.txt
pip install -r requirements.txt
  • В корневой папке выполните команды:
python yatube/manage.py makemigrations
python yatube/manage.py migrate
  • если база данных пустая, то для создания суперпользователя выполните команду:
python yatube/manage.py createsuperuser
  • запустите сервер
python yatube/manage.py runserver

В дальнейшем для запуска нужно выполнять только последнюю команду.

Примеры вызовов API с ответами

(адрес действителен при условии локального запуска)

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

[ { "user": "admin3", "following": "leo" }, ]

POST http://127.0.0.1:8000/api/v1/posts/62/comments// [ { "id": 1, "author": "admin3", "post": 62, "text": "test", "created": "2022-04-03T08:45:08.459624Z" }, { "id": 5, "author": "admin3", "post": 62, "text": "коммент из API", "created": "2022-05-19T12:39:52.625413Z" } ]

Авторы

Mr.RRog

About

api final yatube

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published