ProjectSync is a simple project management/tracking application built with Java 21, Spring Boot, Spring Data JPA (Hibernate) and MySQL 8. The frontend is a minimal Bootstrap application that interacts with the backend REST API.
- Full CRUD for Projects (name, status, description, owner)
- Validation for required fields
- Auditing fields (createdAt, updatedAt)
- Simple Bootstrap-based frontend to manage projects
- JPA/Hibernate as ORM
- Java 21
- Spring Boot (Web, Data JPA, Validation)
- MySQL 8 (configured via application.properties)
- Bootstrap 5 (frontend)
- JUnit 5 (tests)
- Install Java 21 and Maven.
- Create a MySQL database and user, for example:
CREATE DATABASE projectsync; CREATE USER 'project'@'localhost' IDENTIFIED BY 'changeme'; GRANT ALL PRIVILEGES ON projectsync.* TO 'project'@'localhost'; FLUSH PRIVILEGES;
- Update
src/main/resources/application.propertieswith your DB credentials. - Build and run:
mvn -U clean package mvn spring-boot:run
- Open
http://localhost:8080in your browser.
See AZURE_DEVOPS_TRACEABILITY.md for a template describing Epics, Features, User Stories and how to link commits/branches/PRs to Work Items.
Run unit and integration tests with:
mvn testThis project is scaffolded to be simple and educational. For production use, add authentication, pagination, DTO mapping libraries, and CI/CD pipelines.