This is the final project for the Software Engineering bootcamp offered by QA. The project showcases my skills and knowledge gained during this time. The goal was to create a Spring Boot API, with utilisation of supporting tools, methodologies, and technologies, that encapsulates all fundamental and practical modules covered during training.
During our last week of the bootcamp we were given the task of completing a project that would demonstrate our skills and knowledge using:
- Agile & Project Management (Git, Jira)
- Databases & Cloud Fundamentals (Azure, MySQL)
- Programming Fundamentals (Java)
- API Development (Spring Boot)
- Automated Testing (JUnit, Mockito)
Initially the project seemed daunting and I was worried that I would not get it finished on time but breaking down tasks into manageable parts using Jira helped a lot.
Project setup such as database and table creation, implementing the repository, services and controllers went well.
Testing did not go well and to complete it I had to do self-learning by reading articles on service, repository and controller testing using Mockito and JUnit. Baeldung is a good resource not only for testing but for all areas of Java and Spring.
Creating custom controller queries was a little more challenging.
Planned for improving this API is to include more database tables and join queries to provide more endpoints. I plan to build a front end to consume these endpoints to allow for a full stack real-world application.