FinTrack is a streamlined personal expense tracker built to help users manage and monitor their finances with ease. FinTrack empowers users with intuitive tools to categorize expenses, track spending habits, and visualize financial trends, making it an ideal solution for anyone seeking financial clarity and control.
This project is developed using Java 11.0.17, Spring Boot 2.7.10 for the Backend and NextJS 13.4.0, TypeScript 5.6.3 for the Frontend.
- User registration
- User login
- Dashboard
- Adding Transactions
- Deleting Transactions
- Analysis
- Logging out
- In terminal, navigate to the
backend
directory
cd backend
- Run the following command to start the Spring Boot application:
gradle bootRun
The backend server should now be running on http://localhost:8080
.
- Navigate to the
frontend
directory
cd frontend
- Install the dependencies using the following command:
pnpm install
- Start the development server using the following command:
pnpm dev
The frontend application should now be running on http://localhost:3000
.
- Open a web browser and navigate to
http://localhost:3000
. - Create an account on the # Page if you don't have an account already.
- Log in using the registered account credentials by clicking the "Login" link and filling out the login form.
- On the dashboard, add/delete transactions to track your daily expenses.
- To view trends and statistics, navigate to the Analytics page.
- Log out by clicking the "Logout" button on the top right.
This project uses the PostgreSQL Database as the default database for development purposes. To access the Database, follow these steps:
-
Make sure the backend server is running.
-
Visit
http://localhost:8080
. In your first login, you may need to enter the default authorization credentials. Default username: myuser, and default password: mypassword. -
In the "JDBC URL" field, enter the URL specified in the
application.properties
file of the backend. The default URL isjdbc:h2:mem:testdb
. -
Enter your username and password (as specified in the
application.properties
file) in the "User Name" and "Password" fields, respectively. The default username issa
and the default password is an empty string. -
Click "Connect" to access the Database console.
For further reference, please consider the following sections:
- Official Gradle documentation
- Spring Boot Gradle Plugin Reference Guide
- Create an OCI image
- Spring Security
- Spring Web
- Spring Data JPA
The following guides illustrate how to use some features concretely:
- Securing a Web Application
- Spring Boot and OAuth2
- Authenticating a User with LDAP
- Building a RESTful Web Service
- Serving Web Content with Spring MVC
- Building REST services with Spring
- Accessing Data with JPA
These additional references should also help you: