Skip to content

Commit

Permalink
add finance_management
Browse files Browse the repository at this point in the history
  • Loading branch information
Freezepop committed Dec 8, 2024
1 parent 9271ec1 commit b41b7a3
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions src/finance_management/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
🚀 Система управления личными финансами

Сервис позволяет создавать учетные записи пользователей с возможностью авторизации по паролю.
Система поддерживает больше одного пользователя. Все взаимодействие с сервисом происходит в консоли.

💡 Как работает сервис

Сервис работает в цикле while до тех пор, пока пользователь не выполнит выход (или до runtime exception =D).


У сервиса есть меню, которое доступно сразу после авторизации:

"""
1 - Записать доход
2 - Записать расход
3 - Создать категорию и задать ее бюджет
4 - Выполнить расчет бюджета
5 - Подкрутить бюджет для категории
6 - СБП по имени
exit - Выход из аккаунта, возврат к меню авторизации
"""

1️⃣ Первый пункт создает запись о доходе с учетом того, что категория, по которой происходит фиксация дохода, существует в базе.
2️⃣ Второй пункт аналогичен первому, но делает обратное.
3️⃣ Третий пункт, собственно, создает категорию и фиксирует ее лимит. Фиксация лимита опциональная.
Например, Еда: 10000 - создание категории Еда с лимитом в 10000. Еда - создание категории без лимита Еда: -1 - алиас создания категории без лимита.
4️⃣ Четвертый пункт выводит подробную сводку о бюджете (все как в ТЗ на портале указано).
5️⃣ Пятый пункт нужен для изменения лимита по нужной категори на случай, если планы изменились.
6️⃣ Шестой пункт наше маленькое СБП. Переводы доступны если у пользователя, который переводит деньги, есть такое количество свободных денег, а также если пользователь "друг" с указанным именем существует в нашей системе (прошел регистрацию). Все транзакции в БД по умолчанию имеют категорию "bro_bonus". Она автоматически не учитывается в расходах (можно поменять).
И вот сейчас подумал, что надо бы было запретить создание такой категории, чтобы застолбить ее как служебную, но мне уже лень. В целом, проверка на ее наличие есть в методе, поэтому ничего не сломается и ее uuid просто переиспользуется, но все же не красиво, да. =(

💪🤓❤️

0 comments on commit b41b7a3

Please sign in to comment.