-
Notifications
You must be signed in to change notification settings - Fork 0
Development Overview
Raft recognizes that the world is moving fast and so does technology. As part of our core principles, we choose tools that are well-established and a good value to CFPB. We worked with their Design and Development team to understand the nuances of their infrastructure and select tools that would integrate easily into their existing systems. All tools we recommended were those that would allow the Money Tools to be developed with the following six characteristics:
- Fast loading
- Mobile ready
- Tracking enabled
- SEO friendly
- Strong security
- Progressive web apps
After several knowledge transfer meetings with both development teams, we developed the following overview diagram to help our team understand the complexities of their architecture. Below the diagram, is an overview description of the workflow between the CFPB and Raft. More technical notes are available here.
-
Primary development
- Raft has created a fork of the CFPB main cfgov-refresh (now referred to as the Upstream). This fork is located in Github at Raft Fork.
- A main feature branch on the Raft fork that will be used for the first Money Tool has been created and it is called 'My-Money-Calendar'. All feature branches will be created off of this branch.
- Each developer working on the project has a has a cloned version of the 'My-Money-Calendar' branch to work from.
-
Integrating code into Raft server
- Developers who are ready to merge their code with the 'My-Money-Calendar' branch, go through an internal Raft review by creating a Pull Request from their feature to the 'My-Money-Calendar' branch.
- Once the PR has passed its review, it is merged into the 'My-Money-Calendar' branch.
- Internal Raft Staging: We have established a Heroku staging server and, as needed for internal Raft review, the current code on this branch may be pushed up to it.
-
Integrating code into CFPB server
- At regular intervals, Raft will push the code from the Raft server to the branch of the same name on the CFPB server and tag relevant stakeholders to do a code review.
- Once the code is on the CFPB server, we can request to push it to a CFPB internal development server for review by CFPB stakeholders.
- When requested by Raft, the code will be reviewed by the CFPB development team.
- Once it is approved, it will be merged to their Master branch.
- While the app will be part of their Master branch, it will not be visible until the 'disabled' flag is changed to 'enabled' at a date when the stakeholders agree.