An expenses tracking application
Find a file
2024-09-15 17:22:20 -04:00
.github/workflows feat: changed deploy.yml 2024-09-07 10:10:41 -04: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 refactor: ExpensesView columns 2024-09-15 17:22:20 -04:00
.gitignore fix: remove init.sql from versioning 2024-09-09 18:13:18 +02:00
docker-compose.yml feat: impl automatic User creation 2024-09-09 19:10:19 +02:00
Dockerfile feat: changed Dockerfile, docker-compose.yml 2024-09-06 21:08:49 +02:00
LICENSE Create LICENSE 2024-09-10 22:00:20 +02: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: export to CSV 2024-09-12 11:19:38 +02:00
README.md docs: README.md 2024-09-12 23:47:30 +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 your go-to companion for managing expenses efficiently and effortlessly, whether you're tracking daily expenditures, managing recurring expenses, or keeping tabs on creditors and debtors.

Munera is built using Java with the Spring framework. It utilizes Vaadin Flow for creating modern web applications. The application uses a PostgreSQL database for data storage. Maven is employed as the build tool, while JUnit and Mockito are used for unit testing. Spring Security handles authentication, and Apache Commons to export data.

Dashboard

Dashboard

Expenses Grid

Expenses Grid

People Grid

People Grid

Features

1. Expense Management

Easily create, read, update, and delete expenses with comprehensive details, including:

  • Name: The name of the expense.
  • Date: The date the expense occurred.
  • Category: Assign categories to expenses for easier tracking.
  • Cost: The amount spent.
  • Description: Additional notes or details about the expense.
  • Period Interval: Set the recurrence interval (e.g., 1, 2, 3, etc.).
  • Period Unit: Specify the unit for the period interval (days, weeks, months).
  • Payer and Beneficiary: Record who paid and who benefited from the expense.
  • Date of Payment: The date when the payment was made.
  • Status of Expense: Track the status of the expense (e.g., "Paid to Me", "Owed to Me", "Paid by Me", "Owed by Me").

2. Category Management

  • Manage categories for better organization of expenses.
  • Default categories are initialized on the first build of the application.

3. People Management

  • Track expenses related to people and generate reports on amounts owed or owing.

4. Reporting and Analysis

  • Generate reports to view expenses and debts by category or person.
  • Visualize your expenses with built-in graphs.

5. Data Export

  • Export your expense data to CSV format for external use and backup.

6. Upcoming Features

  • Income Tracking: An upcoming feature to manage and track income efficiently.

Installation

You can self-host Munera in two ways:

Option 1: Manual Installation

  1. Compile and Run: Download the source code, compile, and run the application manually with your preferred SQL database.
  2. Default Setup: The first build will automatically create default categories and an admin user, as specified in the application.properties file.

Option 2: Docker Installation

  1. Dockerized Setup: Use the provided Dockerfile and docker-compose.yml files to deploy Munera using Docker.
  2. Configuration: The first build will set up default categories and an admin user based on the environment variables in docker-compose.yml.

Getting Started

Follow the steps below to get started with Munera:

  1. Clone the Repository:

    git clone https://github.com/yourusername/munera.git
    cd munera
    
  2. Manual Installation:

    • Configure your SQL database.
    • Adjust settings in application.properties.
    • Build and run the application with Maven:
      mvn clean install
      mvn spring-boot:run
      
  3. Docker Installation:

    • Ensure Docker is installed and running.
    • Use Docker Compose to set up Munera:
      docker-compose up --build
      

License

Munera is licensed under the GNU Affero General Public License (AGPL) Version 3. See the LICENSE file for details.

Feedback and Contributions

Contributions and feedback are welcome! Feel free to submit a pull request or open an issue on the GitHub repository.