department-of-veterans-affairs / va.gov-team

Public resources for building on and in support of VA.gov. Visit complete Knowledge Hub:
https://depo-platform-documentation.scrollhelp.site/index.html
282 stars 203 forks source link

Frontend App Architecture — Discovery: Frontend solution that will enable autonomous VFS deploys #22335

Closed meganhkelley closed 2 years ago

meganhkelley commented 3 years ago

Problem Statement

VFS teams all use the same repository for the FE apps vets-website, which means that there are a significant number of interdependencies between more than a dozen teams working in the same repo. For example, when one team's unit test fails, the entire website deploy is blocked.

How might we (determine an approach that will) reduce interdependencies between VFS teams and enable them to work more autonomously?

Hypothesis or Bet

We will know we're done when... ("Definition of Done")

Known Blockers/Dependencies

Projected Launch Date

Launch Checklist

Guidance (delete before posting)

Is this service / tool / feature...

... tested?

... documented?

... measurable

Required Artifacts

Documentation

Testing

Measurement

TODOs

meganhkelley commented 3 years ago

Initial ticket for micro-frontends (closed to reduce noise for people who have left the Platform): https://github.com/department-of-veterans-affairs/va.gov-team/issues/1099

mpelzsherman commented 3 years ago

Here's a Google Doc with some background info and a high-level proposal.

meganhkelley commented 3 years ago

@mpelzsherman Hey Michael, I do not have access to that doc

mpelzsherman commented 3 years ago

@mpelzsherman Hey Michael, I do not have access to that doc

Sorry @meganhkelley. I've updated sharing on the link and you should have access now.

mpelzsherman commented 3 years ago

The biggest pain point this would solve is reducing build times for VSA pull requests. Currently, all PR's build all of the applications, even though VSA developers work on only one app at a time. A flaky test in another app can cause a PR build to fail, requiring a re-build. Separating the apps would make our PR builds much faster, resulting in a huge gain in efficiency.

Note: our review environments do not need to be fully-functional copies of all of VA.gov. They only need to support the app under development.

meganhkelley commented 3 years ago

Update: