Skip to content

Backend онлайн хостинга картинок с элементами соц-сети eXwonder.

License

Notifications You must be signed in to change notification settings

waflawe/eXwonder-backend

Repository files navigation

eXwonder-backend

Backend онлайн хостинга картинок eXwonder, являющегося по функционалу урезанной версией Instagram. Код написан на Python фреймворке Django 5, использует PostgreSQL как основную БД, Redis для кэширования и брокинга сообщений, Celery для обработки очередей задач. Также применяется библиотека dj-rest-auth для операций с аккаунтом через REST API, к которому также имеется Swagger-схема, сгенерированная при помощи drf-spectacular. Используемый линтер и форматер кода - ruff.

Установка

  1. Клонируем репозиторий:
git clone https://github.com/waflawe/eXwonder-backend.git
cd eXwonder-backend/
  1. Устанавливаем зависимости:
pip install -r requirements.txt
  1. Применяем миграции:
python manage.py migrate
  1. Запускаем отдельно три окна терминала. В первом запускаем redis (убедитесь, что он установлен у вас на компьютере):
redis-server
  1. Во втором запускаем celery:
celery -A core.celery_setup:app worker --loglevel=info
  1. В третем запускаем сам проект:
python manage.py runserver 0.0.0.0:8000
  1. API будет доступно по адресу: http://localhost:8000/api/v1/, документация: http://localhost:8000/api/v1/schema/docs/

Краткое описание функционала

  1. Создание и вход в аккаунт.
  2. Сброс пароля, двухфакторная аутентификация, изменение пароля аккаунта.
  3. Подписки и подписчики.
  4. Страница новостей (посты от аккаунтов в подписках за последний час).
  5. Создание поста, его удаление, просмотр, лайки, добавление в сохраненные.
  6. Комментарии к посту, их создание, лайки, удаление.
  7. Глобальный поиск аккаунтов.
  8. Страница исследования (последние добавленные посты, самые залайканые посты).
  9. Просмотр аккаунтов пользователей.
  10. Изменение настроек аккаунта (временная зона, 2FA, почта для сброса пароля, аватарка).

Скриншоты из frontend клиента

Доступны здесь.

Лицензия

У этого проекта MIT лицензия.

About

Backend онлайн хостинга картинок с элементами соц-сети eXwonder.

Topics

Resources

License

Stars

Watchers

Forks