Skip to content

This application is designed for task management processes. Users can log in with different roles to create projects , assign tasks, and track progress.

Notifications You must be signed in to change notification settings

Bino26/task_manager

Repository files navigation

Task Manager API

Spring Boot PostgreSQL Redis Java Docker Swagger

About the Project

This application is designed for task management processes. Users can log in with different roles to create projects , assign tasks, and track progress.

Technologies Used

  • Java 17
  • Spring Boot
  • Spring Security
  • Redis
  • PostgreSQL
  • Docker
  • OpenAPI

Prerequisites

  • Java 17, Maven, Redis, PostgreSQL or Docker

Docker Run

  • 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.

Commands from Makefile

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

🙏 Kindly Note

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.

🔧 Environment Configuration

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.

⚠️ Deployment Note

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 .env file 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.

Contribute

Feel free to open a Pull Request or an issue !

About

This application is designed for task management processes. Users can log in with different roles to create projects , assign tasks, and track progress.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages