Skip to content

Версия веб-приложения Referral service с использованием Django Templates (Django REST Framework)

Notifications You must be signed in to change notification settings

KD3821/referral_service_templates

Repository files navigation

referral_service_templates

Referral service with Django Templates
(Django REST framework)

Реферальная система (Django, DRF)

Описание работы сервиса

  • Зарегистрироваться в системе по номеру телефона.
  • Верифицировать номер телефона вводом 4-х значного кода.
  • В личном кабинете сохранить инвайт-код пригласившего Вас Пользователя.(Необязательно)
  • Для приглашения в сервис другого пользователя необходимо передать ему Ваш инвайт-код, и он должен сохранить его в ЛК.
  • В дальнейшем для входа в систему использовать номер телефона, указанный при регистрации.
  • Просматривать список приглашенных Вами пользователей в таблице "Ваши рефералы"
  • Ознакомиться с документацией по работе API во вкладках "Swagger", "ReDoc".

Демонстрация работы сервиса (Django Templates + Bootstrap 5 ): Я участвую!🚀

Alt text Alt text Alt text Alt text Alt text Alt text Alt text

[Код версии приложения без шаблонов (API с Swagger UI & ReDoc)]

Краткая инструкция по запуску и настройке сервиса

Стэк:

  • Django и Django REST framework.
  • PostgreSQL
  • Docker и Docker-compose

Сущности проекта:
  • TemporaryUser - модель для сохранения данных неподтвержденных Пользователей
  • User - модель подтвержденного пользователя

Таблица ендпоинтов

HTTP Verb Scope Semantics URL
POST Login Enter Phone - get Code http://127.0.0.1:8000/api/accounts/code
POST Verification Enter Phone and Code - get Tokens http://127.0.0.1:8000/api/accounts/verify
GET Profile View Profile http://127.0.0.1:8000/api/service/profile
PUT/PATCH InviteCode Provide Invite Code http://127.0.0.1:8000/api/service/profile

Авторизация:
  • После верификации 4-х значного кода для Пользователя создаются JWT токены (по стандарту: Access и Refresh)
  • Токен необходимо передавать в заголовке 'Authorization': 'Bearer TOKEN'
  • Данная версия API не предусматривает получения нового Access токена по истечении срока действия - т.е. необходимо пройти повторную авторизацию с помощью номера телефона и 4-х значного кода верификации

Запуск проекта на локальной машине:
  • Создать папку для проекта
  • Создать в папке виртуальное окужение для Python 3.10 и активировать его
  • Клонировать репозитории в папку и установить зависимости из файла requirements.txt
  • Создать .env файл с данными для переменных окружения по образцу из env.example
  • Внести необходимые Вам изменения в settings.py
  • Собрать статику в неоходимую вам папку: python3 manage.py collectstatic
  • Запустить контейнер с PostgreSQL с помощью файла docker-compose.yml
  • Произвести миграции с помощью команд: python3 manage.py makemigrations и python3 manage.py migrate
  • Создать Супер Пользователя -python3 manage.py createsuperuser - ввести данные для полей: Phone, Passcode(любой код), Password(ограничения Django)
  • Запустить сервер: python3 manage.py runserver

About

Версия веб-приложения Referral service с использованием Django Templates (Django REST Framework)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published