CST462 Service Project Reflections

    One thing that went well during our service-learning project was our ability to build meaningful full-stack functionality that contributed to a real application rather than just completing isolated assignments. As a team, we developed useful features such as availability scheduling, time entry reporting, and backend APIs to support booking functionality. Collaboration improved over time as we became more comfortable using Git, resolving merge conflicts, and coordinating contributions through pull requests. A major success was moving portions of the project away from hardcoded or mock data toward real frontend-backend integration. We also made significant progress through debugging, identifying issues involving authentication, CORS, and data persistence that led to real improvements in the application.


    One area I would improve is communication and coordination earlier in the development process. There were times when better communication about branches, feature ownership, and merging strategies could have reduced confusion and prevented integration issues. I also learned the importance of syncing with the main branch frequently and testing integration points earlier, rather than waiting until multiple features are developed in parallel. Personally, I would like to continue improving my Git workflow, debugging strategies, and API design skills. Better documentation throughout development would also have made collaboration and handoffs smoother.


    The most impactful part of the project for me was seeing how backend work could directly support other parts of the system and other teammates. Building features like the availability slots API and weekly reporting endpoint showed how backend development could power frontend functionality and improve the overall product. Debugging and resolving the issue where frontend availability changes were not persisting to the backend was especially impactful because it addressed a real system-level problem and helped move the project closer to functioning as intended. It was rewarding to contribute work that had visible effects beyond just my portion of the codebase.


    One of the biggest challenges we faced was coordinating work across multiple contributors while the codebase was evolving. Merge conflicts, branch synchronization, and overlapping changes created difficulties at times. We also faced technical challenges involving frontend-backend integration, authentication, and debugging situations where the user interface appeared correct even when the backend data was not. A major lesson from these challenges was that many software problems are not purely coding problems, but integration and communication problems that require collaboration and careful troubleshooting.


    My advice for future service-learning students is to communicate often, sync with the main branch regularly, and test integrations early. It is easy to assume different parts of a system are working together when they are not, so validating end-to-end behavior is important. I would also recommend using Git branches and pull requests consistently and keeping feature branches small to reduce conflicts. Another lesson is not to underestimate debugging work—finding and fixing hidden issues can be just as valuable as building new features. Finally, focus on contributions that support the team and the project as a whole, because some of the most rewarding work comes from solving problems that help everyone move forward.


Comments

Popular posts from this blog

Computer Science BS Journal (CST334) : Week 3

Computer Science BS Journal (CST334) : Week 5

Computer Science BS Journal (CST363) : Week 2