An expenses tracking application
Find a file
2024-09-06 19:41:47 +02:00
.github/workflows feat: added deploy.yml 2024-09-06 19:41:47 +02:00
.mvn/wrapper Generated project 2024-05-18 14:42:12 +00:00
frontend feat: added first tentative graph 2024-07-02 22:18:19 +02:00
src/main feat: improved SecurityConfiguration 2024-09-06 19:15:16 +02:00
.gitignore feat: docker setup 2024-09-06 18:54:26 +02:00
docker-compose.yml feat: docker setup 2024-09-06 18:54:26 +02:00
Dockerfile feat: docker setup 2024-09-06 18:54:26 +02:00
LICENSE.md Generated project 2024-05-18 14:42:12 +00:00
mvnw Generated project 2024-05-18 14:42:12 +00:00
mvnw.cmd Generated project 2024-05-18 14:42:12 +00:00
package-lock.json fix: added frontend files to versioning 2024-08-09 00:02:44 +02:00
package.json fix: added frontend files to versioning 2024-08-09 00:02:44 +02:00
pom.xml feat: LoginView and Spring SecurityConfiguration setup 2024-07-15 23:03:45 +02:00
README.md refactor 2024-07-27 23:05:06 +02:00
README.vaadin.md docs: README 2024-05-21 00:05:38 +02:00
tsconfig.json fix: added frontend files to versioning 2024-08-09 00:02:44 +02:00
types.d.ts fix: added frontend files to versioning 2024-08-09 00:02:44 +02:00
vite.config.ts fix: added frontend files to versioning 2024-08-09 00:02:44 +02:00

Munera: Expense Tracking Application

Overview

Munera is a companion for managing expenses efficiently and effortlessly, whether you're tracking daily expenditures, managing recurring expenses, or keeping tabs on creditors and debtors.

Dashboard Grid

1. Expense Management

  • Create, read, update, and delete expenses with the following details:
    • Name
    • Date
    • Category
    • Cost
    • Description
    • Period Interval (1, 2, 3, etc)
    • Period Unit (days, weeks, months)
    • Creditors and debtors
    • Status
  • Create, read, update and delete categories
  • Create, read, update and delete people
  • Create, read, update and delete events

Completed Features

  • Create categories with CRUD operations
  • Create concept of creditors and debtors for each expense
  • Insert expenses of the past and of the future
  • Have an option to set up recurring expenses
  • Creditors and debtors total expenses
  • Setup status for each expense
  • Create mechanism to change status when expense gets paid
  • Create labels to show if a person is in debit or credit with you
  • First tries with widgets in a dashboard view
  • An expense cant have the same person as both creditor and debtors

Next Steps

  1. Filtering and Sorting

    • Keep implementing sorting on more columns, start implementing filtering
    • Specification
  2. Weekly and Monthly Summaries

    • Create functionality to generate weekly and monthly summaries, including filtering and sorting options.
    • Create a dashboard or log of "next expenses" that lists the next recurring expenses that you expect to receive
  3. Reports for Creditors and Debtors

    • Develop reports outlining debts or credits for each creditor and debtor to provide users with a comprehensive overview.
    • CRUD operations for creditors and debtors
  4. Create a way to set the currency of each expense

    • It should be possible in the form of an expense
    • The symbol should be added to the cost column
    • If possible, the calculations should take into account the different currencies
  5. Events

    • Options to create events in which to put expenses (vacations, congress, etc.)
    • Each event has a number of people connected to it, expenses can be added to these people
    • A reports tells which people need to give/take money to which people in order to be even
  6. Misc

    • PeriodUnit and Interval need to be implemented with a scheduler
    • Graphs could use more work, maybe some filtering?
    • More validation in form
    • Login page
    • email setup
    • Migration tool for DB changes in prod

Known Issues

  • PeopleVIew doesn't refresh after an edit operation anymore
  • Form still needs more validation when empty, some entities can be created with all null values, even the ones that have constraints throw SQL errors, they need to be gracefully handled.
  • Errors need to be caught and handled
  • Graphs still need a lot of some improvements
  • ExpenseView doesn't refresh after an edit operation anymore