Skip to content

Latest commit

 

History

History
118 lines (104 loc) · 4.4 KB

README.md

File metadata and controls

118 lines (104 loc) · 4.4 KB

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

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

Описание

Социалочка для лытдыбров 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