It's been a busy week. We didn't underestimate the difficulty of converting our website from static to dynamic, it was about what we expected, but that was a lot of work. Most of the tools were very straightforward. Overall we have a fairly good product.
What did I do this week?Lots of work on our v2 website. That took about 40-45 hours on my part. The lectures weren't very demanding on their own.
What is in my way?Nothing much, still a lack of understanding of exactly how React works. I might go back and work through some tutorials on my own and get a better understanding of how to combine modules, build more complex pages. We do need to redesign our testing implementation. Some of our tests are not fully automated and are not run from CI.
What will I do next week?Project Phase 3. I don't even know what that is yet. I should go read the assignment.
What was my experience for Project Phase 2?I worked on front-end. One of my teammates built the framework for our React website and I populated most of it.
I rewrote the About page from scratch since nothing we created last time was reusable in React. That took a full day on its own because React is so darn "smart". It optimizes everything behind the scenes, in ways that you can't control, and that means chopping up your functions and running everything in parallel instead of sequentially. That even means breaking up a fetch().then().then() command and running the then()s in parallel, before the data they depend on has been prepared. I finally got our Gitlab stats working by making all steps of the data sorting process explicitly sequentially dependent, as in all steps are explicitly nested and cannot be executed out of order, no matter how badly React wants to. This makes the data sorting process much less efficient than it could be, but it was the only way to ensure React wouldn't optimize us straight to failure.
Those were the two big obstacles, one passed and one that will be passed in the next few days, after taking a break. Overall the project went well. Everything is working as desired. We don't have as many features or optimizations as we would like, but the essential functionality is present and operating correctly.