Skip to content

Instantly share code, notes, and snippets.

@trishalanglois
Created December 12, 2019 21:59
Show Gist options
  • Save trishalanglois/0cfd2e9e46e8030e431b9bc489098160 to your computer and use it in GitHub Desktop.
Save trishalanglois/0cfd2e9e46e8030e431b9bc489098160 to your computer and use it in GitHub Desktop.

Abstract

SWAPI was a paired project that focused heavily on fetching data from the Star Wars API and then cleaning the data to put it in a usable format. The project also utilized Router, asynchronous functionality, UX/UI design, and test-driven development.

Overall

What is your approach to working on a team? (In your answer, provide an example from this project)

For this project, I played more of a tugboat role than I normally do. There were some features that my partner really wanted to implement, and when I found that we were spending too much time in those rabbit holes, I set timers for us to either ask for help when we got to a certain point or move on with more important things with project requirements. Overall, though, my partner and I worked really, really well together. We both prioritized this project above everything else we had going on, and that allowed us to put in the hours needed to make this a polished project. Our mutual enthusiasm and attitudes was really motivating for one another, and he was very fun to work with. We also expressed a lot of gratitude for one another, which made us feel appreciated and motivated us to keep putting our all into our project.

Technical (Choose One)

What was a specific technical challenge your group faced? How did you approach this challenge? What went well? What was a struggle?

A technical struggle, and the point of this project, was to implement the nested fetching and resolving the promises in a way that made the data usable to display on the DOM. We started the nested fetching on day 1 of the project, and I'm glad we did! It took us nearly 6 days to fully implement and clean the data in a way that we needed to correctly display on the DOM. There were many moments where we thought we had finished fetching, only to move on to the next step and realize the data wasn't actually what we thought it was yet. There were moments when I wanted to restructure our entire application so that the fetching wasn't all happening on App load, but through his encouragement (with a healthy dose of both of our stubbornness), we kept at it and eventually found a way that worked. If I were to go back and re-do this project, I think I would have restructured it to only fetch the data needed at any given time to simplify the data and decrease overall waiting time on App load.

Reflection

What is one personal/professional takeaway from this project?

One perosnal takeaway from this project is that attitude goes a LONG way in working on a team. Even when my partner and I were discouraged, frustrated, and had been working for 10 hours straight on something, our positive attitudes kept us motivated to keep going or to come back to it the next day with enthusiasm and vigor. I really enjoyed working with my partner, and our words of encouragement for one another made the overall experience really enjoyable and fun.

What is one technical takeaway from this project?

Technical takeaways I have from this project are around Promises (especially resolving them) and testing. Resolving Promises proved to the be the trickiest technical thing that we did on this project. We thought we had resolved promises time and time again, only to find out that they were not in the structure or the data type we thought they would be. With one level or even two level Promises, resolving them is more straightforward, but there were times when we were so nested in our fetching that we thought we were resolving things when, in reality, we were still one of two levels away.

My testing experience exponentially increased with this project. Because testing is syntactically different in React, this project was great practice to get more testing experience, especially with async functions. My partner and I only scratched the surface with async testing, so I would like to get more experience with that, as well.

Based on these takeaways, what is something you want to focus on for the next project?

My partner and I did not get to the final iteration, which includes setState and rendering just the favorite characters. In our next project, I'm looking forward to implementing this, as I have some ideas for how to approach this -- my theory is that you have a property held in state, e.g. isFavorite, and then just render those cards using their truthy value.

I'm also looking forward to practicing everything we've learned so far so that it sinks in even more: routing, async functionality, testing, and getting even deeper into React.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment