Week 4: API Specs & Code Foundations
This week we fired up the engines to crank out some code! We mainly created Github Issues for creating UI components & implementing new APIs after some engineering discussions on what specifications will be needed. This involved the following:
-
Merged our first Pull Request laying down code foundations for the frontend using a library called react-app-rewired which was helpful for keeping the v1 React app in the same codebase while building a new v2 app alongside. Other key technologies for the frontend include Apollo Client, SCSS, ReactJS
-
Discussed specs for the inviteContributors API so that users can join a project via an invite link sent to their email
-
Discussed specs for how the API will facilitate allocation countering & rate negotiation. For example, a Project Admin may create an allocation for a contributor of $1000 for 20 hours or work @ $50/hr. The Contributor can then Accept, Reject, or Counter the allocation with a different rate so our data model and APIs need to enable the different states an allocation can be in throughout this process.
-
Opened issues for core frontend UI tasks including the navigation system, basic header/footer components, URL routing etc
-
Reviewed how we are going to use Apollo Directive Resolvers to enforce project ownership permissions at the API level
-
Started working on a Pull Request for all data model changes and database migrations needed for the v2 feature set
We have a full list of issues here on our Github repo with more technical details and will be tracking a milestone here for what we want to have ready before the Legends of Lightning submission deadline.