Gaia/Architecture Transition Proposal
Transition Proposal
This is a proposal to migrate our current codebase to the new and unified architecture for Gaia apps mentioned in the Architecture Proposal.
This documentation tries to split the transition process into a multi-steps process. The documentation also try to see how parts of those steps can be done concurrently to avoid a pure linear process.
Step 0: Mirror the architecture proposal into functional teams
The proposed architecture is about strict decoupling of the front-end and the back-end, and focusing on small pieces. This ultimately lead to fine grained parts, which can be classified into 3 high-level categories.
Those categories are:
- Front-End
- Back-End
- Toolkit
Impact on functional teams
As of today, individuals are often working on those 3 categories at the same time. While some may focus more on one aspect over others, this model merge the responsibilities of all categories and distract individuals.
It also prevent categories to evolve independently and results into a general slow down.
In order to mitigate those issues it is proposed to create 2 new functional teams:
- Front-End
- Toolkit
The existing functional teams will still exists, but with a refocus on the pure back-end of an application.
This solution should also provide a better concerns isolation. For example, most of the time UX/UI concerns are unrelated to the back-end logic. Or many WebAPIs changes does not concerns the front-end logic.
The new structure can be visualize as multiple layers of concerns wrapping each others.