DEV Community

Cover image for AppWorks School - CloudMile Feedback Loop Project
Ivy Chen
Ivy Chen

Posted on

AppWorks School - CloudMile Feedback Loop Project

As a part of the bootcamp program, I had the chance to work closely with the developer mentors at CloudMile for a project called Feedback Loop. It is a event feedback management tool that helps organizers keep track of participants’ feedback via form submissions. I collaborated with another classmate on this 2-week project and received guidance from our 5 mentors (Juri, Liang, Shan, Welly, Jack), which was super cool! The mentors took turns in reviewing our pull requests, gave recommendations for code quality/best practices, and encouraged me a lot throughout the collaboration!

Image description
Image description

Learnings

Here are some of the things I learned.

Database Schema

Image description

I got more familiar with working with Firebase Firestore to come up with a database schema through this first phase of the process. Through some back-and-forth discussions with our teacher and mentors, we finally got a structure down that we could work off of.

Git Flow

We used a simplified approach to git flow. The steps were as followed:

  1. Make a develop branch from main
  2. Pull remote develop to local develop, then make a feature branch from develop
  3. When done, push local feature branch to remote feature branch
  4. From remote feature branch, open a pull request to develop
  5. PR review time!

Best Practices

Also, we got some advice on best practices for developing collaboratively.

  1. 300-500 lines for a PR
  2. 1 branch: 1 PR, 1 branch: 1 feature
  3. Pull develop every day

I think the ratio 1: 1 makes a lot of sense. It’s focused, modular, and more maintainable. Similar to how a food stall should only sell one thing if they want to be specialized in a dish.

Reflection

Due to the time crunch (2 weeks was a little tight for this), I relied on AI a lot to debug and break down manageable tasks for me, which resulted me in having less control in the code I was writing. If I had more time on this project, I would spend more time on refactoring so then other features could be built on top of our work in the future.

Top comments (0)