Crudzaso aims to develop ProjectSync, an internal tool designed to register and track the active projects within the organization. The goal is for each team to build a system that manages essential project information such as name, status, description, and responsible person, while ensuring complete traceability of the development process and collaboration across the team.
This activity focuses on applying both technical and professional skills: connecting to a real database, implementing an ORM, maintaining version control with Git Flow, and documenting the process through Azure DevOps.
- Language: Java 21
- Framework: Spring Boot (Web, Data JPA, Validation)
- Database: MySQL 8
- ORM: JPA/Hibernate with Spring Data JPA
- Testing: JUnit 5 (unit and integration)
- Frontend: HTML + JavaScript (Bootstrap or Tailwind)
- Version Control: Git (following Git Flow principles)
- Work Management: Azure DevOps Boards + Repos
- Naming convention: English for code, endpoints, and structures
- Connect the backend to a MySQL database with a table for project records.
- Implement the complete CRUD flow (create, read, update, delete).
- Validate all required fields and handle HTTP errors appropriately.
- Add auditing fields for creation and update timestamps.
- Build a frontend that interacts with the backend to manage projects visually.
- Maintain and document progress through Azure DevOps and Git.
- Create and manage Epics, Features, and User Stories.
- Link commits, branches, and Pull Requests to the corresponding Work Items.
- Follow the standard progress workflow:
New → Active → Resolved → Closed. - Provide written evidence of progress, decisions, and agreements made by the team.
- Document the implementation and outcomes of each User Story.
- Unit tests to validate core business logic.
- Integration tests to verify database connectivity and CRUD operations.
- Validation of error handling and data consistency.
- Functional tests of the frontend interacting with the backend API.
-
Source code connected to a working MySQL database.
-
REST API implementing all CRUD operations for project management.
-
Frontend correctly integrated with the backend.
-
Executable unit and integration tests.
-
Git repository with documented commits and branches.
-
Work traceability through Azure DevOps (Work Items, PRs, linked commits).
-
A README document that clearly explains:
- Project setup and execution steps.
- Database connection configuration.
- Team roles and responsibilities.
- Lessons learned and final conclusions.