Skip to content

dmitrii1991/SocialNetworkFriendsService

Repository files navigation

Сервис друзей социальной сети

ТЗ

Необходимо спроектировать и разработать Django-сервис друзей. Сервис должен предоставлять возможности - зарегистрировать нового пользователя (+) - отправить одному пользователю заявку в друзья другому (+) - принять/отклонить пользователю заявку в друзья от другого пользователя (+) - посмотреть пользователю список своих исходящих и входящих заявок в друзья (+) - посмотреть пользователю список своих друзей (+) - получить пользователю статус дружбы с каким-то другим пользователем (нет ничего / есть исходящая заявка / есть входящая заявка / уже друзья) (+) - удалить пользователю другого пользователя из своих друзей (+)

Некоторые условия работы логики:

  • если пользователь1 отправляет заявку в друзья пользователю2, а пользователь2 отправляет заявку пользователю1, то они автоматом становятся друзьями, их заявки автоматом принимаются (+)
  • если пользователь1 отклоняет заявку в друзья от пользователя2, то пользователь2 не может больше отправлять заявки в друзья пользователю1 (+)
  • если пользователь1 удаляет из друзей пользователя2, то их "дружба" автоматом прекращается, и пользователь2 не может больше отправлять заявки в друзья пользователю1, и пользователь1 автоматически удаляется из друзей пользователя2 (+)

Модель пользователя может быть самой простой

  • id
  • username

Необходимо

  • описать REST интерфейс сервиса с помощью OpenAPI
  • написать на Django сервис по этой спецификации
  • описать краткую документацию с примерами запуска сервиса и вызова его API
  • unit-тесты будут плюсом
  • Dockerfile для упаковки в контейнер будет плюсом

Выходные артефакты:

  • исходный код
  • OpenAPI спецификация
  • документация с описанием запуска и примерами использования API

Описание реализации

Особенности

- Реализована авторизация по JWT-токену - Оформлена Админ панель (admin -- admin123 ) - Оформлен swagger по адресу http://127.0.0.1:8000/swagger/ - Оформлены тесты на все случаи, описанные в тз - запуск из контейнера ````shell python manage.py test ```` - Запуск приложения ````shell docker-compose up ```` - DjangoVk.postman_collection.json для импорта в постман

Releases

No releases published

Packages

No packages published