Project created for Zaawansowane Technologie Programowania class on Cracow University of Technology.
Application showcase instance is available at http://fintrack.omiotech.pl.
- Java 21
- Spring Boot 3
- PostgreSQL
- Docker
- Node.js
- Angular 19
- Track personal and shared expenses
- Split bills among multiple users
- Generate detailed financial reports
- User authentication and role management
To quickly launch the application follow these steps:
- Clone the repository and navigate to it:
git clone https://github.com/your-username/fintrack.git
cd fintrack - Ensure Docker and Docker Compose are installed on your system.
- Run the following command in the project directory:
docker-compose up
- Once the containers are up and running, navigate to
http://localhostin your web browser (port 80 is used by default).
This will start the application and make it accessible on your local machine.
The application supports environment variables for production deployments. You can configure the following variables:
| Variable | Description | Default Value | Used By |
|---|---|---|---|
CORS_ALLOWED_ORIGINS |
Comma-separated list of allowed origins for CORS | http://localhost:4200 |
Backend |
API_URL |
Backend API URL used by frontend | http://localhost:8080 |
Frontend |
APP_DOMAIN |
Root level domain that the cookies should be set on | localhost |
Backend |
USE_SECURE_COOKIES |
Whether cookies should have secure flag. Important for http/https |
false |
Backend |
Important Notes:
- The
API_URLis used during the Angular build process and cannot be changed at runtime - If you change
API_URL, you need to rebuild the frontend container - The
CORS_ALLOWED_ORIGINScan include multiple domains separated by commas - Make sure to include both
httpandhttpsvariants if needed
To make changes in this project you will need to set-up your environment.
-
Ensure all required tools listed in the technology stack are installed.
-
Clone the repository and navigate to it:
git clone https://github.com/your-username/fintrack.git
cd fintrack -
Start up database container
docker-compose up fintrack_database
-
In backend subdirectory, build and launch java api application:
mvn clean install
java -jar target/fintrack-0.0.1-SNAPSHOT.jar
-
In front subdirectory, install dependencies and launch dev server:
npm install
npm start
-
Navigate to
http://localhost:4200to visit the application. -
Navigate to
http://localhost:8080/swagger-ui/index.htmlto visit swagger ui.
This is showcase, for development use proper IDEs like IntelliJ IDEA for backend and Visual Studio Code for frontend.