- About project
- Initial assumptions of the application
- Prerequisites
- How to run
- Tech stack
- Code of Conduct
- Contributing
- Authors
- License
This project is created by Bycza Zagroda community. The main aim for this project is for it to allow a user to track their own expenses. The code for the Track Expenses App is separated for back-end and front-end with their own GitHub repository. In the application the REST architecture and Minimum Viable Product (MVP) model is used.
- this is a small project in order to build and release with the best code practise.
- the base of the application is able to execute the most basic actions such as: create, read, update, delete, aka CRUD
- in this project we can work together, learn from each other and enlarge our skills or even develop them. Everything depends on which level knowledge of Spring Boot 2 you have.
The following tools are required to start the application:
- IntelliJ IDEA / VSC / Eclipse
- Java 17 LTS
- MySql Workbench / DBeaver
- Git Bash
- Maven 3.x
- Postman
- Docker - please refer to Setting up Docker
Please clone the repository by https or ssh (below we use the https method).
git clone https://github.com/bycza-zagroda/track-expenses-app-backend.git
You need a working mysql server to run this application. You can use your local server installation or use the docker compose file from this project.
Remember: if you are using your local server instance, change parameters for the database connection.
To run only mysql server from our docker compose configuration please enter to the directory
cd track-expenses-app-backend
and run
docker-compose up -d database
Wait until the database server starts completely, it may take a while.
Next, you can run the project using Maven:
./mvnw spring-boot:run \
-Dspring-boot.run.profiles=dev \
-Dspring-boot.run.arguments="
--DB_SERVER=localhost
--DB_PORT=3308
--DB_NAME=trackexpensesapp
--DB_PASSWORD=root
--DB_USER=root"
Or, first, you can package as jar:
./mvnw package
Then, run:
java -jar target/track-expenses-app-backend-*.jar \
--spring.profiles.active=dev \
--DB_SERVER=localhost \
--DB_PORT=3308 \
--DB_NAME=trackexpensesapp \
--DB_PASSWORD=root \
--DB_USER=root
Now you can navigate to http://localhost:8080 in your browser.
- Java 17 LTS
- Spring Boot 2
- Spring Data
- Spring Security
- Swagger / OpenAPI
- MySql (docker)
- Liquibase
- Maven 3.x
More info in Code Of Conduct section
Please read the file CONTRIBUTING.md
Please read the file DEFINITION_OF_READY.md
Please read the file DEFINITION_OF_DONE.md
Created with ❤ by bycza-zagroda community
The project is covered by Apache License Version 2.0, January 2004