This is a full-stack web application that allows users to manage their tasks with authentication. It provides a clean and intuitive interface for creating, viewing, editing, and deleting tasks, including setting deadlines. The backend is powered by Spring Boot, and the frontend is server-side rendered using Thymeleaf.
- Java 17
- Spring Boot 4 (Spring MVC, Spring Data, Spring Security)
- PostgreSQL
- Thymeleaf
- Maven
- Docker
- User Authentication: Registration and login functionality using Spring Security.
- Full CRUD Functionality: Create, read, update, and delete tasks.
- Intuitive UI: A clean and responsive user interface built with Thymeleaf and Bootstrap.
- Validation: Robust server-side validation for all user inputs.
- Containerized: Comes with a
Dockerfileanddocker-compose.yamlfor easy setup and deployment.
There are two ways to run the application:
This is the easiest way to get the application running with the database.
- Clone the repo:
git clone <https://github.com/Anton3413/Task-Manager.git>
- Navigate to the project directory and run the application using Docker Compose.
docker-compose up --build
- Open your browser and navigate to
http://localhost:8080.
If you want to run the application without Docker, you will need to have a PostgreSQL instance running and configure the connection details manually.
- Set up a PostgreSQL database.
- Configure the database connection by setting the following environment variables:
SPRING_DATASOURCE_URLSPRING_DATASOURCE_USERNAMESPRING_DATASOURCE_PASSWORD
- Run the application using the Maven wrapper:
./mvnw spring-boot:run
- Open your browser and navigate to
http://localhost:8080.
