Skip to content

NailKalimov/ReferralAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RESTful API сервис для реферальной системы.

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]

Адресные пути

About

API для реферальной системы на основе Django Rest Framework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages