Week 6 | Designs and Frustrations
July 6, 2020This week, I found a solution to my problem for the project types, and I switched from using Flask’s server-rendering to React.js.
As a solution, I had a Enum column type for the project table. A project has a one-to-many relationship with a repo. For a repo, I could have fields for a user_id, a group_id and a project_id. The user_id or group_id could be set depending on the project type. From there I can determine the owner of the repository and who is a part of it.
While using Flask, I was becoming frustrated with how slow I was when it came to developing the front-end using Flask’s server-rendering engine. I was used to React.js from previous projects, but I hesitated switching because I did not know how to handle OAuth if I moved to a JavaScript front-end. I eventually looked more into how OAuth worked and decided I could implement it myself with a little bit of help from a smaller library.
With that, I was satisfied that I came up with the solution to handle project types and that I implemented a way for users to log in through Github.