SmartTask is a highly secure, scalable RESTful API built with Spring Boot and PostgreSQL, designed for modern team collaboration. It provides fine‑grained control over projects, tasks, and members, while ensuring data integrity, security, and authorization at every level.
Key Features
Robust Security
- Custom JWT (JSON Web Token) authentication
- Secure request filtering with Spring Security
- Stateless, token‑based authorization
Granular Access Control
Authorization enforced at the service layer Examples:
- Only Project Owners can add or remove members
- Only Owners or Assignees can modify tasks
-
Global exception handling using
@ControllerAdvice -
Clean, professional HTTP responses:
401 Unauthorized403 Forbidden404 Not Found
- PostgreSQL for reliable relational data storage
- Spring Data JPA & Hibernate for ORM and persistence
- Java 17
- Spring Boot 3.3.4
- Spring Security (JWT)
- PostgreSQL
- Spring Data JPA / Hibernate
Follow the steps below to run SmartTask locally.
- Java 17+
- Maven 3.8+
- PostgreSQL (running instance)
git clone https://github.com/olexpopov/SmartTask.git
cd SmartTaskUpdate src/main/resources/application.properties with your database credentials:
spring.datasource.url=jdbc:postgresql://localhost:5432/smarttaskdb
spring.datasource.username=postgres
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update- Build and Run
Compile and start the application using Maven:
./mvnw clean install
./mvnw spring-boot:runThe API will start on the default port: http://localhost:8080
Maintainer
Maintained by Olex Popov.