API позволяет пользователям регистрироваться, опционально указывая реферальный код другого пользователя(реферера).
- Регистрация и аутентификация пользователя (JWT);
- Аутентифицированный пользователь имеет возможность создать или удалить свой реферальный код. Одновременно может быть активен только 1 код. При создании кода обязательно должен быть задан его срок годности;
- Возможность получения реферального кода по email адресу реферера;
- Возможность регистрации по реферальному коду в качестве реферала;
- Получение информации о рефералах по id реферера;
- UI документация (Swagger).
- Все основные контроллеры написаны с использованием асинхронных решений
- Python 3.12
- Django 4.2
- djangorestframework 3.15.2
- djangorestframework-simplejwt 5.5.0
- drf-spectacular 0.28.0
- daphne 4.1.2
- adrf 0.1.9
- SMTP
Клонируем репозиторий:
~ git clone https://github.com/NailKalimov/ReferralAPI.git
Далее устанавливаем и активируем виртуальное окружение из папки с проектом
~ python -3.12 -m venv venv
~ . venv/Scripts/activate
Устанавливаем требуемые зависимости:
~ pip install -r requirements.txt
В файле settings.py инициализировать следующие параметры под вашу инфраструктуру:
- EMAIL_HOST = <Адрес почтового сервиса>
- EMAIL_PORT = <Порт используемый почтовым сервисом>
- EMAIL_USE_SSL = <True/False - выбрать использует ли данный протокол почтовый сервис>
- EMAIL_USE_TLS = <True/False - выбрать использует ли данный протокол почтовый сервис>
Требуется создать файл env.py в каталоге referralAPI/referralAPI/ и создать в нем переменные login и password для подключения SMTP
Переходим в папку
~ cd referralAPI
Перед первым запуском выполняем миграции:
python manage.py migrate
Создаем суперпользователя:
python manage.py createsuperuser
Запуск сервиса производится командой:
py manage.py runserver [--nothreding]