B-Dmitriy / expenses

Web service for expenses monitoring.
MIT License
0 stars 0 forks source link

Сервис мониторинга средств Expenses

Данный сервис позволяет мониторить доходы и расходы пользователя.
Это осуществляется за счёт ведения списка транзакций, вкючающих в себя категорию доходов/расходов, контрагента связанного с операцией и остальную информацию о движении денежных средств.

[!WARNING] В данный момент проект находится в стадии MVP. Ведётся выявление дальнейшего развития продукта. (Необходимые фильтры, формат отчётов и статистики, возможность автоматизации сбора транзакций)

Вклад в развитие

Сервис реализован с помощью языка Golang с минимальным использованием сторонних библиотек. Изменения можно вносить создавая пулл-реквест, отметив ревьюером @B-Dmitriy.

Настройка окружение для разработки

Для локальной разработки необходимо иметь установленные программы:
golang ^1.22.0
make
docker (docker-compose)

Так же необходимо установить вспомогательные библиотеки:
swag - для генерации документации OpenAPI/Swagger
migrate - для работы с миграциями

Установить вспомогательные библиотеки можно с помощью команды make install-tools

Так же необходимо прописать файлы конфигурации:
main.yaml - основной файл конфигурации
.env.pg - файл конфигурации для контейнера docker с PostgreSQL

Файлы конфигурации находятся в /config

Для разработки фронтенда

Вы можете запустить приложение с помощю команды make start или docker compose up -d.

Далее запускайте фронтенд приложение будь то expenses-ui, его форк или ваш собственный проект.

Для разработки бекэнд

Вы можете запустить приложение с помощю команды make start или docker compose up -d, далее остановить контейнер expenses-app и запустить go приложение с помощью команды make run.

Или вы можете отдельно запустить контейнер с базой данных.

Достуные make команды

make run - запуск приложения на Golang (go run)
make start - запуск приложения в docker
make stop - остановка приложения в docker
make install-tools - установка всех вспомогательных библиотек
make swagger-gen - генерация документации swagger
make migrate-up - запустить миграции
make migrate-down - откатить миграции
make NAME="create_user_table" migrate-create - создать миграцию create_user_table