Lambda Labs Logs: Week 4

Part 1 - Individual Accomplishments this Week

Whiteboard Interview: https://youtu.be/7n5rmp7R4sQ

My Solution: https://repl.it/@Kerbleski/Labs-week-4-whiteboarding

Team Contribution Graph: https://github.com/Lambda-School-Labs/labs9-developer-profiles/graphs/contributors

Github Handle: mkerbleski

Front-End URL: https://ecstatic-dev-profiles.netlify.com/

Back_End URL: https://developer-profiles.herokuapp.com/

Summary

This week went by really quick, I got sick over the weekend and didn't get anything done on Monday. Tuesday I was slow but got the general flow of the filters complete and returning only a specified certain number of users. Wednesday I tied the backend filter with the front end infinite scroll and Thursday I fixed the found bugs related to that and then I worked on the billing page. The billing page was probably the most challenging as I had not done anything in that section of the site but needed to jump in quickly.

Tasks Pulled

Pull Requests: 10

Monday

  • Sick

Tuesday

  • Finish Filters
  • https://github.com/Lambda-School-Labs/labs9-developer-profiles/pull/163
  • https://trello.com/c/6HCN7zH8/21-side-menu
  • Modify number of users returned
  • https://github.com/Lambda-School-Labs/labs9-developer-profiles/pull/156
  • https://github.com/Lambda-School-Labs/labs9-developer-profiles/pull/157
  • https://trello.com/c/6HCN7zH8/21-side-menu

Wednesday

  • Finalize filter and infinity scroll
  • https://github.com/Lambda-School-Labs/labs9-developer-profiles/pull/164
  • clean up a bunch of bugs with filter and infinite scroll, explored edge cases:
  • https://github.com/Lambda-School-Labs/labs9-developer-profiles/pull/168
  • Reset page to Top on filter change
  • https://github.com/Lambda-School-Labs/labs9-developer-profiles/pull/170

Thursday

  • Cleaned up spacing
  • https://github.com/Lambda-School-Labs/labs9-developer-profiles/pull/169
  • Fixed navigation bug with filter
  • https://github.com/Lambda-School-Labs/labs9-developer-profiles/pull/174/files
  • Bug Fix for extra div
  • https://github.com/Lambda-School-Labs/labs9-developer-profiles/pull/179
  • Billing Page
  • https://trello.com/c/ujEVv514/106-billing-page
  • https://github.com/Lambda-School-Labs/labs9-developer-profiles/pull/184

Detailed Analysis

Pick one of your tickets and provide a detailed analysis of the work you did.  This should be approximately ¼ page of text, and at least three screenshots.

The infinite scroll was definitely the most interesting task that I worked on this week. Jurgen had started implementing it on a dummy component and I took that component and modified it into our 'UserCards' component. When it came down to it, really it is just an event listener that does something every time the user hits the bottom of the page.

When that happens what I did was set the trigger to make another call for n+5. This meant that the API is calling for 5 users, then 10 users, then 15 users etc... This is has a huge spacial complexity but was less complicated than other options that might not have gotten done in time this week. On the backend I learned that I needed to process each filter asynchronously.

It needed to be asynchronously so that the order it was handled was the same every time. This was to reduce the amount of expensive operations that were done each time. By putting the jobs filter (which filtered between 4 categories) first, and the math behind the GPS coordinates last I was able to reduce the number of complex calculations per API call.

One big curve-ball with GPS coordinates was the difference between negative and positive or East and West. When a user set up a card they were getting a negative number but it should have been positive. I am still not 100% certain on why this is but I flipped the integer and everything is running great now.

Part 2 - Milestone Reflections

As a part of your journal entry, write ¼ to ½ a page reflecting on your experiences working with a team to make your product look and feel as good as it works under the hood. Describe how the duties of you and your team shifted tasks shifted towards the front end - and debugging the back end to improve UX.

The bigger our code base gets the harder it becomes working as a team, and the more I miss having total control over a project. One thing that was really challenging was working on code that is completely out of the style that I am used to. I will make component dynamic as soon as there are 2 redundancies, others wait a bit longer. The two big takeaways from this are 1) it is important to learn what others are doing earlier in the process, 2) agreeing on style flow is important. I thought everyone was on the same page with how we were going to style the site, and while it looks (almost) great I think there are 5 different style styles throughout the codebase. It would be much easier to jump around a help others if we were all using the same workflow.

The UX is the driving force behind the process and also the most involved, everything becomes connected at the user experience so this is the point in the project when all the problems came to light when not understanding what the other person was working on. Overall tho I learned a ton and will handle a group project far better the next time.