Социальная сеть
Социалочка для лытдыбров 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
- Установите и активируйте виртуальное окружение
python -m venv venv
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
В дальнейшем для запуска нужно выполнять только последнюю команду.
(адрес действителен при условии локального запуска)
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