This application is designed for task management processes. Users can log in with different roles to create projects , assign tasks, and track progress.
- Java 17
- Spring Boot
- Spring Security
- Redis
- PostgreSQL
- Docker
- OpenAPI
- Java 17, Maven, Redis, PostgreSQL or Docker
- Please follow the below directions in order to build and run the application with Docker Compose;
$ git clone https://github.com/Bino26/task_manager.git
$ cd task_manager
$ make build- You can reach the swagger-ui via
http://localhost:8080/swagger-ui/index.html
Login with :
{
"email": "[email protected]",
"password": "password1234"
}
for being able to access all endpoints- You can use a GUI tool like RedisInsight to view and manage your cached Redis data.
| Command | Description |
|---|---|
make build |
Build app image with -DskipTests |
make up |
Start app and dependencies |
make down |
Stop and remove all running containers |
make logs |
View live logs from containers |
make test |
Run tests via Dockerfile.test + Testcontainers |
make clean |
Clean up all unused Docker resources |
Due to time constraints, the Postman collection may be missing or incomplete.
We kindly invite you to use the integrated Swagger Documentation to explore and interact with the API.
Thank you for your understanding and patience.
All necessary environment variables are already registered directly in the docker-compose.yml file.
This setup is designed to help reviewers launch the project effortlessly without manual configuration.
If you plan to deploy this project in a production environment, do not use environment variables directly inside docker-compose.yml.
Instead, follow one of these best practices:
- Use a
.envfile and reference variables using${VARIABLE_NAME}syntax. - Configure environment variables directly in your deployment environment (e.g., CI/CD, cloud provider, or secrets manager).
- Use tools like Docker secrets or Spring Boot config servers to manage sensitive information securely.
🛡️ Keep credentials and sensitive values out of source control.
Feel free to open a Pull Request or an issue !