Page for personal finance control 💰
Full stack financial management application designed to help users track income and expenses, providing clear insights into their financial data. The system features a secure backend built with Java and Spring Boot, including JWT-based authentication, RESTful APIs, and structured business logic. It also includes a dynamic dashboard and PDF report generation.
This app features all the latest tools and practices in web development!
- Java
- Spring Boot
- Spring Security (JWT)
- JPA / Hibernate
- H2 Database
- Angular
- TypeScript
- Tailwind CSS
- JWT-based authentication
- User registration and login
- Financial transactions CRUD operations
- Dashboard with:
- Total income
- Total expenses
- Consolidated balance
- Transaction filtering by user
- Soft delete for records
- PDF report generation
- Global exception handling
- Data validation using Bean Validation
Performs user authentication.
Request Body:
{
"email": "string",
"password": "string"
}Returns the organization data of the authenticated user.
Request Body:
{
"name": "string",
"email": "string",
"password": "string",
"organizationName": "string",
"purpose": "string",
"reportTitle": "string"
}Returns the organization data of the authenticated user.
Create a new financial transaction.
Request Body:
{
"description": "string",
"transactionDate": "yyyy-MM-dd",
"transactionType": "INCOME | EXPENSE",
"amount": 0.0
}Returns the list of transactions of the authenticated user, ordered by date (most recent first).
Returns the list of transactions of the authenticated user, ordered by date (most recent first).
- Clone this repo with
git clone https://github.com/calebesg/ledgerflow.git - Move yourself to the proffy directory:
cd ledgerflow
- Move yourself to the backend directory:
cd backend - Run
./mvnw spring-boot:runinstall all dependencies and start server
- Move yourself to the frontend directory:
cd frontend - Run
npm installto install all dependencies - Run
npm start OR ng serverto start project
- Advanced filters (date, category)
- Refresh token implementation
- PostgreSQL integration
- Docker containerization for the application
- Application deployment
