Upgrading HACC-Hui

12 Dec 2023

Upgrading HACC-Hui

The task

Each year, the Hawaii Annual Code Challenge invites individuals from the state to compete in challenges for local stakeholders. A site developed by a previous ICS 414 cohort for this event enables administrators to create challenges and users to form teams and sign up. Our task was to modernize and improve this site by migrating from the Semantic-UI framework to Bootstrap, updating it to align with newer React and JavaScript conventions, adding a feature for administrators to reset the site for the next year’s challenge, and cleaning up inconsistent code and user interfaces. We employed issue-driven project management and met bi-weekly with our seven-member team.

The execution

Our early strategy included bi-weekly stand-up meetings to discuss individual tasks and overall progress. We allocated tasks based on each member’s strengths, which sometimes led to integration challenges. We relied on GitHub for version control and task tracking. Adapting the site to Bootstrap required meticulous attention to maintain user-friendly interfaces. We encountered and overcame these challenges through collaborative problem-solving and regular code reviews.

What was learned

My understanding of React, JavaScript, and web development, initially rusty, has now significantly improved. I was unfamiliar with Bootstrap at the project’s onset, but I am now comfortable using it for front-end development. Beyond technical skills, the project highlighted the critical role of effective communication and teamwork in software development. Challenges related to project management and task coordination emphasized the need for structured approaches, like Agile methodologies. These experiences have shaped my perspective on the importance of clear leadership and cohesive team dynamics.

Team dynamics and collaboration

The project demonstrated the strengths and pitfalls of working in a diverse team. Our variety of skills led to innovative solutions, but also posed challenges in maintaining a consistent approach. Regular and structured team meetings could have improved our project’s coordination and efficiency.

Concluding thoughts

In summary, this project was a comprehensive learning experience, broadening my technical expertise and providing valuable insights into team-based software development. It underscored the importance of planning, communication, and leadership in a complex project setting. These experiences have equipped me with a holistic view of software engineering, invaluable for my future career.