If you work in technical teams you will ultimately end up having a disagreement. These disagreements can be as minor as what should be linted and as major as the ethics of the product you are building. Being able to proactively address potential sources of conflict and choosing battles judiciously is an art that I have yet to master.
A few years ago, I was talking to a very talented engineer about what I was working on, lamenting that the product was 'over-engineered', he stopped me and told me 'over-engineering' is a misnomer. When great engineering teams successfully collaborate, the result is a well built product that satisfies company objectives. What I was calling 'over-engineering' happened when workers sought out and attached themselves to complex issues without thoughtful attempts to reduce their complexity.
Like many of my colleagues I haven't ever felt like I really understood what Cross Origin Resource Sharing (CORS) policies accomplish. I feel like when I try to learn more about it, I understand it even less. Of CORS My Request Failed
Developers often pretend to know what they're doing, especially when they're insecure newer developers like myself! Sometimes we happen to stumble upon interesting patterns, think they're elegant, and get attached to them rather than using the solution that performs better. In the course of building a file directory, I gleaned some interesting insights into recursion, search, memoization, virtualization, and generator functions. The path getting there exposed me to concepts that I haven't really dealt with since my algorithms course in college. Fortunately, my first slow-but-elegant solution, a recursive react component, was supplanted by the use of generator functions in
react-vtree, an equally interesting technology. Dealing with folder-based file systems has been one of the more rewarding small features I've had the opportunity to work in my short career.
Kent Dodds delineates a pretty good approach to auth in a react app here, https://kentcdodds.com/blog/authentication-in-react-applications.If you're using react-router and useContext in your app just auth that way. Its very convenient to have
UnauthenticatedApp as the sides of your ternary in that authentication check.