Skip to content

boborikin/finance_manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Менеджер учёта расходов

Запуск

Локальный запуск

Запуск API

Создание виртуального окружения

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/

Методы API

Регистрация пользователя

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.

Доступно как Swagger, так и Redoc документация.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published