Локальный запуск
Создание виртуального окружения
python3 -m venv venv
Активация виртуального окружения
source venv/bin/activate
Установка необходимых зависимостей
pip install -r requirements.txt
Инициализация необходимых переменных окружения(1)
export DJANGO_ALLOWED_HOSTS="127.0.0.1"
export SECRET_KEY=foo
export DEBUG=1
Запуск миграции
python3 app/manage.py migrate
Запуск проекта
python3 app/manage.py runserver
Проект доступен по ссылке ниже:
http://127.0.0.1:8000/
В отдельном окне терминала запустите redis
redis-server
В другом окне терминала перейдите в папку app
cd app
Проведите инициализацию необходимых переменных окружения 1 и 2 и запустите celery worker
celery -A mail worker -l info
Создать другое новое окно, перейти в папку app выполнить инициализацию переменных 1 и 2. Запустить celery beat
celery -A mail beat -l info
Инициализация необходимых переменных окружения(2)
export EMAIL_HOST=""
export EMAIL_HOST_USER=""
export EMAIL_HOST_PASSWORD=""
export EMAIL_PORT=465
export CELERY_BROKER_URL=""
Docker контейнер
Скопировать данные из файла .env.example в файл .env и изменить данные на ваши
Для сборки и запуска
docker-compose up -d
Проект доступен по ссылке ниже:
http://localhost:8000/
Регистрация пользователя
curl -X POST 'http://127.0.0.1:8000/auth/register/'\
-H 'Content-Type: application/json' \
-d '{"username":"<username>","password":"<password>","password_again":"<password>",
"email":"<email>","first_name":"<first_name>","last_name":"<last_name>"}'
Вход пользователя
curl -X POST 'http://127.0.0.1:8000/auth/login/'\
-H 'Content-Type: application/json' \
-d '{"username":"<username>","password":"<password>"}'
Вернется значение access. Данное access значение используется для получения/изменения/создания данных
Получение текущего баланса
curl -X GET 'http://127.0.0.1:8000/api/v1/balance/' -H 'Authorization: Bearer <access>'
Получение статистики
curl -X GET 'http://127.0.0.1:8000/api/v1/balance/' -H 'Authorization: Bearer <access>'
Получение ваших категорий
curl -X GET 'http://127.0.0.1:8000/api/v1/categories/' -H 'Authorization: Bearer <access>'
Список транзакций с сортировкой по убыванию даты создания
curl -X GET 'http://127.0.0.1:8000/api/v1/transactions/?ordering=-created' -H 'Authorization: Bearer <access>'
Доступные варианты сортировки:
ordering=created
- по возрастанию
ordering=-created
- по убыванию
ordering=amount
- сумма по возрастанию
ordering=-amount
- сумма по убыванию
Доступные варианты фильтрации:
created=04.10.2022
- дата создания
created_gte=04.10.2022 14:55:01
- дата создания больше или равно
created_lte=
- дата создания меньше или равно
created_gt=
- дата создания больше чем
created_lt=
- дата создания меньше чем
amount=1
- Сумма равная
amount_gte=
- Сумма больше или равна
amount_lte=
- Сумма меньше или равна
amount_gt=
- Сумма больше чем
amount_lt=
- Сумма меньше чем
Мною была добавление документация с помощью drf-yasg.