Skip to content

Application for tracking finances and splitting bills created for Zaawansowane Technologie Programowania class on Cracow University of Technology.

Notifications You must be signed in to change notification settings

domiotek/fintrack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

161 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fintrack

Application for tracking finances and splitting bills

Project created for Zaawansowane Technologie Programowania class on Cracow University of Technology.

Application showcase instance is available at http://fintrack.omiotech.pl.

Technology stack

  • Java 21
  • Spring Boot 3
  • PostgreSQL
  • Docker
  • Node.js
  • Angular 19

Features

  • Track personal and shared expenses
  • Split bills among multiple users
  • Generate detailed financial reports
  • User authentication and role management

Quick launch

To quickly launch the application follow these steps:

  1. Clone the repository and navigate to it:
    git clone https://github.com/your-username/fintrack.git
    cd fintrack
  2. Ensure Docker and Docker Compose are installed on your system.
  3. Run the following command in the project directory:
    docker-compose up
  4. Once the containers are up and running, navigate to http://localhost in your web browser (port 80 is used by default).

This will start the application and make it accessible on your local machine.

Environment Configuration

The application supports environment variables for production deployments. You can configure the following variables:

Available Environment 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_URL is 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_ORIGINS can include multiple domains separated by commas
  • Make sure to include both http and https variants if needed

Development

To make changes in this project you will need to set-up your environment.

  1. Ensure all required tools listed in the technology stack are installed.

  2. Clone the repository and navigate to it:

    git clone https://github.com/your-username/fintrack.git
    cd fintrack
  3. Start up database container

    docker-compose up fintrack_database
  4. In backend subdirectory, build and launch java api application:

    mvn clean install
    java -jar target/fintrack-0.0.1-SNAPSHOT.jar
  5. In front subdirectory, install dependencies and launch dev server:

    npm install
    npm start
  6. Navigate to http://localhost:4200 to visit the application.

  7. Navigate to http://localhost:8080/swagger-ui/index.html to visit swagger ui.

This is showcase, for development use proper IDEs like IntelliJ IDEA for backend and Visual Studio Code for frontend.

About

Application for tracking finances and splitting bills created for Zaawansowane Technologie Programowania class on Cracow University of Technology.

Resources

Stars

Watchers

Forks

Contributors