Self Critique
Phase 3
What did we do well?
The filter, sort, and search components that we created for this phase look aesthetically pleasing. We modeled our filter and sort components after Amazon's features, where they have the filter and sort components to the left of the grid of cards.
We also improved the details pages for the models. In the previous phase, we simply displayed the photos of the model in a list at the bottom of the Jumbotron with many duplicates. However, we cleaned that up during this phase by getting rid of the duplicates and displaying the photos in a carousel.
Our API is also very easy to use. To sort or filter, simply append more parameters to the API request, and to search on the front-end, simply parse the terms that the user entered, separating them with commas, and send them in the API request.
In addition, we followed the advice given by the group we presented to in class, making sure to deal with bad URLs, and fixing little bugs in the filter and sort components.
What did we learn?
On the back-end, we learned about how to process optional parameters, creating many-to-many relationships.
On the front-end, we continued to learn more about React and Reactstrap. We learned about more components provided by Reactstrap and their usages, including Pagination and Inputs. Also, we learned more about child-to-parent component communication in React because we had to have the child component pass fields back to the parent upon a button click.
What can we do better?
As of now, our restaurant models can be filtered by what restaurants are open now. However, we haven't displayed any open hour information on the grid cards yet, so even though the filtering is working, it's hard for the user to tell that the filter worked.
We plan on implementing filtering by categories. For instance, a user will be able to filter by multiple different categories of food (ex: Mexican food, breakfast).
We can also improve the look of our grid pages. Currently, some of the cards are not sized correctly, and it looks kind of ugly. In general, we could improve our website's aesthetics, especially on our Splash page.
We could also improve the search component, possibly putting a search bar in the navigation bar.
What puzzles us?
We're not sure if it is better for us to implement the sorting and filtering on the front-end or the back-end. Either could have worked, but we decided to do it on the back-end.
We have filtering by open hours specifically for our restaurant model, so we are still trying to think of filters that we could implement that could be specific to our attraction model and hotel model.