This application helps you organize creating and accessing tasks for users.
You can access Swagger and see all available endpoints by visiting http://localhost:8080/swagger-ui/index.html
Main application communicates with cache (we use Redis), database (we use Postgresql), storage (we use MinIO).
We have two main classes - User and Task.
User class represents user in this application. User can login, create and update tasks.
User can have roles - ROLE_USER
or ROLE_ADMIN
.
Task class represents task in this application. Task can be created by user.
Task can have images.
To run this application you need to create .env
file in root directory with next environments:
HOST
- host of Postgresql databasePOSTGRES_USERNAME
- username for Postgresql databasePOSTGRES_PASSWORD
- password for Postgresql databasePOSTGRES_DATABASE
- name of Postgresql databasePOSTGRES_SCHEMA
- name of Postgresql schemaREDIS_HOST
- host of Redis instanceREDIS_PASSWORD
- password for RedisJWT_SECRET
- secret string for JWT tokensMINIO_BUCKET
- name of bucket for MinIOMINIO_URL
- URL of MinIO instanceMINIO_ACCESS_KEY
- access key of MinIOMINIO_SECRET_KEY
- secret key of MinIO
You can find step-by-step creating of this project here.