Sprint 2 Retrospective
At the beginning of this week, we finally reached the end of our second sprint, once a again, completing the back end for the LibreFoodPantry Approve module. My thought on this sprint is that our team did fall behind quite a bit on the goals we set out to finish at the beginning of the sprint due to the fact that we ran into much more problem than we expected and we don't really have much time to meet up with each other like the last one. Nevertheless, we were still able to achieve a decent amount of goal and almost reach the point to be deployable as a product for just the back end.
List of what I accomplished during the last sprint:
- Successfully implemented CI/CD in every main repositories and get it up and running to check for merge requests build (ApproveGuestService, isApprovedWebUI, ApproveGuestWebUI)
- Adding all the required endpoints for the REST API system and set it out as a base for the front end to access data (ApproveBetween, getGuestInfo, approveUpdate)
- Successfully established connection between REST API and mySQL database on each member's machine with a customizable config file to fit with multiple server setup (Backend connection, JSON REST API configuration file)
- Completely overhaul and clean up code for REST API to be more optimized and modular (Fixing date format in Java code)
- Front end wise, John and Kevin was able to make a few basic component to display guest information, made a lot of effort to learn about Material design, and experimenting with communication with the REST API
With a lot of work putting in developing the back end, I learned a lot about how to make connection between REST API system and mySQL. There are a few small things that I can pick up through this run too, like the differences between Docker Desktop and Docker Toolbox, making CI/CD script with different images, and so on.
During this run, it went really smoothly and we only ran into multiple communication issue, and small things during the development process like the date and time is behind when data point is fetched from the database because of timezone differences for some reason, or having to deal with numerous bugs that the default date object in Java caused. Other than those, I think we've done it pretty well.
What we can do better for this run, I believe we can still do a lot better communication wise. We could have made a better use of the Gitlab development board to communicate more effectively on the problems in a related ticket, instead of through Discord direct messages and group chat. I also felt like the UI team and the backend were separated as we did not know much about another group’s progress and whether they need our help in researching anything in particular. If we can develop this in a much longer period, I would like to get more involve in the user interface stuff, as the frontend team was struggling with getting only one UI up and running.