En modern och användarvänlig webbapplikation för att hålla koll på din personliga ekonomi. Applikationen låter dig registrera inkomster och utgifter, kategorisera dem och visualisera din ekonomi genom interaktiva grafer.
- Användarautentisering: Säkert inloggnings- och registreringssystem med JWT (JSON Web Tokens).
- Transaktionshantering: Lägg till, se och radera transaktioner (inkomster och utgifter).
- Kategorier: Skapa egna kategorier för att organisera dina utgifter och inkomster.
- Dashboard: Tydlig översikt med summering av saldo, totala inkomster och utgifter.
- Datavisualisering:
- Kategoricirkel: Se fördelningen av dina utgifter per kategori.
- Trenddiagram: Jämför inkomster och utgifter över tid.
- Realtids-notifikationer: Direkt feedback vid handlingar som att lägga till eller radera data.
- Responsiv Design: Fungerar lika bra på desktop som på mobila enheter.
- Java 25
- Spring Boot 4.0.3
- Spring Security (med JWT-baserad säkerhet)
- Spring Data JPA
- H2 Database (In-memory för enkel lokal utveckling)
- HTML5 & CSS3 (Custom Modern Design med mörkt tema)
- Vanilla JavaScript (ES6+)
- Chart.js (För grafer och visualisering)
- Google Fonts (Inter)
- Java 25 installerat.
- Maven (medföljer via
./mvnw).
-
Klona repot:
git clone <repository-url> cd personal-finance-tracker
-
Bygg projektet:
./mvnw clean install
-
Kör applikationen:
./mvnw spring-boot:run
-
Öppna i webbläsaren: Gå till
http://localhost:8080
Applikationen använder som standard en H2-databas i minnet, vilket innebär att all data rensas när applikationen startas om. Inställningar hittas i src/main/resources/application.properties.
För produktion bör app.jwt.secret i application.properties bytas ut mot en säker, slumpmässig sträng på minst 32 tecken.
Du kan se den lokala databasen via H2-konsolen när appen körs:
- URL:
http://localhost:8080/h2-console - JDBC URL:
jdbc:h2:mem:finance_tracker - User:
sa - Password: (lämna tomt)
POST /api/auth/register- Registrera ny användarePOST /api/auth/login- Logga in och få JWT-tokenGET /api/transactions- Hämta alla transaktioner för inloggad användarePOST /api/transactions- Skapa ny transaktionGET /api/categories- Hämta användarens kategorierPOST /api/categories- Skapa ny kategori
Utvecklad av Eric Thilén