.github/workflows | ||
.mvn/wrapper | ||
frontend | ||
src | ||
.gitignore | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
mvnw | ||
mvnw.cmd | ||
package-lock.json | ||
package.json | ||
pom.xml | ||
README.md | ||
README.vaadin.md | ||
tsconfig.json | ||
types.d.ts | ||
vite.config.ts |
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
Expenses 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
- Compile and Run: Download the source code, compile, and run the application manually with your preferred SQL database.
- 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
- Dockerized Setup: Use the provided
Dockerfile
anddocker-compose.yml
files to deploy Munera using Docker. - 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:
-
Clone the Repository:
git clone https://github.com/yourusername/munera.git cd munera
-
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
-
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.