What did we do well?
Overall, we've greatly improved the user experience with added functionality and a cleaner website. With the addition of concrete links between models, we've managed to make our website feel much more cohesive in a relatively small span of time. Instances of models now link to other instances of models in a way that a user would reasonably expect. For example, each gym page now links to stores nearby the gym as well as workouts that one would perform at a gym. Sorting, filtering, and searching have also been improved with a less confusing UI as well as added functionality, such as the ability to sort by ascending or descending order and search highlighting.
What did we learn?
While adding links between the various models, we've learned a hard lesson in the necessity of planning out a website in detail from the start. Our initial concept was discussed in broad strokes, and we made various assumptions about what data would be available to us. Consequently, we were required to change our game plan midway through the project when a number of our original ideas to link models together were dashed by APIs not having the necessary information, how practical it would be to implement the idea in the given time, and how intuitive such a link would feel to a new user. In particular, a closer look at our chosen APIs before deciding on a concept would've made it evident that some of our original plans for connecting models were not practical or that we needed to search for an API better fit for our purposes.
What can we do better?
There are some features that we would've liked to add to the website that would've made it stand out from similar websites. A calorie calculator was in the works, as well as allowing users to input their own location to find nearby stores and gyms. These ideas were appealing to our customer group and would give the user a more concrete reason to keep coming back to the website. Given another phase of the project, we would've liked to implement these ideas, especially since they were partially completed.
Additionally, while we were better at explicitly outlining our goals this phase, we still struggled with keeping up a consistent stream of communication between all members of the group. With each member having outside commitments and other classes, it was difficult to find a time to all meet up in person. Some time could have been saved by more clearly communicating to each other what and how new features were implemented through comments or Slack if not in person.
What puzzles us?
Since it understandably takes a while to grade all of the projects, we were never sure exactly what needed to be fixed from the last phase until late into the current phase. We were able to make reasonable estimates of our grade based on the rubric, but until a grade came back, we had to be ready to do any unexpected last-minute fixes. We're curious about how other groups dealt with this in regards to time management.