TaskManager
Three-level project architecture (data layer, domain layer, representation layer) with an additional layer linking the representation layer with the domain layer
Web-API for Task Manager application
The application allows you to keep track of projects containing various tasks. Projects have a name, start and completion dates, status (NotStarted / Active / Completed) and priority. Tasks have a name, description, status (ToDo / InProgress / Done) and priority. You can create, view, edit and delete projects and tasks. You can also sort and filter projects and tasks by various values.
Stack
- Java 8
- Spring Boot 2.6.3
- Hibernate
- Database: PostgreSQL
- Build tool: Maven
- Testing framework: JUnit
- Documented with Swagger3
Instructions
-
Firstly, you must build project's jar. To do this, run the following command in the terminal at the root folder of the project:
mvn package
Notice: the JAVA_HOME system variable must be set to run the mvn package command
-
Secondly, run the jar file you built to run the application:
java -DSPRING_DATASOURCE_URL=YOUR_DATASOURCE_URL -DSPRING_DATASOURCE_USERNAME=YOUR_DATASOURCE_USERNAME -DSPRING_DATASOURCE_PASSWORD=YOUR_DATASOURCE_PASSWORD -jar target/TaskManager-1.0-SNAPSHOT.jar
Note that you must replace YOUR_DATASOURCE_URL with the URL to connect to your PostgresQL database, YOUR_DATASOURCE_USERNAME with the database user name, and YOUR_DATASOURCE_PASSWORD with the password for that database user
Example:
java -DSPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/taskmanager -DSPRING_DATASOURCE_USERNAME=postgres -DSPRING_DATASOURCE_PASSWORD=7uKrq7J6JaYS3gPM -jar target/TaskManager-1.0-SNAPSHOT.jar