The app allows adding, editing and deleting tasks, changing statuses and priorities, loading and saving data in the database, as well as authentication and registration of users.
Functionalities implemented so far:
- endpoints with CRUD methods for all entities
- getting tasks assigned to particular category
- validation of data
- scheduling of task status
- exception handling
- integration with H2 database
- API documentation by Swagger
- pagination
- authentication and authorization by Spring Security
- sending emails with confirmation links
- one-to-many relation between users and tasks (each user can see his own tasks list)
Functionalities to be implemented:
- integration with MySQL or PostgreSQL
- adding JWT authentication
- deployment to the public server (e.g. Heroku)
- unit tests
- Java 11
- SpringBoot
- Spring Security
- Spring Data
- Hibernate
- H2
-
Clone the repository onto your own computer.
-
Go to the main folder of the project and run this command:
- for the Unix system:
./mvnw spring-boot:run
- for the Windows CMD:
mvnw.cmd spring-boot:run
-
Go to the following page in your browser to test the app: http://localhost:8080/api
-
Go to the following page in your browser to see database tables: http://localhost:8080/api/h2-console
-
Use default values to log in to H2 database:
JDBC URL: "jdbc:h2:mem:testdb"
username: "sa"
password: "[blank]"