Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MB-16927] Update documentation for project transition #407

Merged
merged 20 commits into from
Aug 30, 2023

Conversation

melissathai
Copy link
Contributor

@melissathai melissathai commented Aug 24, 2023

Context

As we prepare to transition MilMove over, the MilMove Developer Portal should be updated to ensure a smooth transition to whoever this project passes on to. Refer to the discovery docs for more details.

This PR mostly focuses on updating the "About" section of the developer docs. The remaining sections ("Frontend", "Backend", "API", etc) will be updated in future PRs

NOTE FOR REVIEWERS: The best way to review these changes is to pull this branch and look over the new docs locally.

git checkout mt-MB-16927-update-docs
yarn install
yarn start

Changes Made

  • rename "About" tab to "Getting Started"
  • remove references to Truss internal Slack workspace
  • remove DoD Certificates page (Slack)
  • remove DMDC Identity Web Services and moved it to Confluence
  • update "Getting Started" steps for clarity
  • shuffle around some docs for organization/readability (see commits for more details)

Screenshots

Added more context in the Homebrew vs Nix setup:
image

Added troubleshooting section to database setup instructions:
Screenshot 2023-08-28 at 11 24 32 AM

Added instructions and screenshots for running the app locally as a service member, admin, and office worker:
image

Testing

  • run docs locally and confirm everything still works

@melissathai melissathai requested review from rogeruiz and a team August 28, 2023 18:29
@melissathai melissathai changed the title [WIP][MB-16927] Update documentation for project transition [MB-16927] Update documentation for project transition Aug 28, 2023
@rogeruiz rogeruiz self-assigned this Aug 28, 2023
Copy link

This looks awesome! I did a code search for Truss and am adding everywhere I think we can probably remove or change references to Truss.

#  fresh-brew 404's for me I'm not sure if it exists
.gitignore:
  27  # fresh-brew
  28: # These files are meant to be updated in the trussworks/fresh-brew repo
  29  Brewfile

# Maybe don't copywright this to truss?
docusaurus.config.js:
  144        ],
  145:       copyright: `Copyright ${new Date().getFullYear()}  U.S. Federal Government (in countries where recognized) and TrussWorks. Built with Docusaurus.`,
  146      },

# Maybe don't copywright this to truss?
LICENSE:
  1: Copyright 2021 U.S. Federal Government (in countries where recognized) and TrussWorks
  2  

README.md:
  90  
  91: Note: if you're using the Fish shell, you'll need to [complete an extra step](https://github.com/trussworks/Engineering-Playbook/tree/main/developing/nix#extra-setup-only-fish-shell-users).
  92  

# Remove reference to truss
sidebars.js:
  18    This list contains all of the architectural decision records for the MilMove
  19:   client and server application from the Application Engineering team at Truss.
  20  `;


#  This project was archived, probably can remove
docs/backend/guides/open-telemetry.md:
  54  Similar to the otelmux library the [Open Telemetry HTTP
  55: library](https://github.com/trussworks/otelhttp) is designed to wrap HTTP
  56  handler functions. It has built in events (read & write) to report the request

  64  
  65: Note: This implementation has been forked to the Trussworks GitHub to address bug fixes.
  66  

#  I don't personally think we should link an individual engineer's github
docs/backend/guides/switching-over-to-nix.md:
  43  * Finding the hashes for any given package version can be a pain.
  44:   * We have a [package search setup by Truss](https://ahobson.github.io/nix-package-search/#/search) that can help with this, but ideally we could do it easier.
  45      * You can also use it on your command line like so:



#  Remove mentions of 1password and Truss and maybe be more generic like password manager
docs/backend/testing/run-acceptance-tests.md:
  33    * If you do not have a directory for code then make one and move into it with `mkdir -p ~/Projects && cd ~/Projects`
  34:   * Visit the [Github Personal Access Tokens](https://github.com/settings/tokens) page to generate a new token. Name the token "MY_NAME Truss Repo Token" and select the `repo` permissions and generate. Then copy this token and put it into your 1Password (You will not be able to see it again). You will use this token instead of a password when cloning the repositories. For more on 2FA and Github you can visit [Two-factor Authentication with Github](https://github.blog/2013-09-03-two-factor-authentication/#how-does-it-work-for-command-line-git).
  35    * Clone the `transcom/mymove` repository to your laptop with `git clone https://github.com/transcom/mymove.git`. No username/password should be required.

#  change "trussels" to "engineers"
docs/backend/testing/run-e2e-tests.md:
  81  We use CircleCI to store artifacts for failed Cypress tests. These are available
  82: to all Trussels with GitHub repository access in the CircleCI UI. [Please see
  83  the official CirclCI documentation about build


# maybe change to something more generic
docs/frontend/setup/designers-guide-to-setting-up-app-locally.md:
  30  
  31: `git config --global user.email "[email protected]"`
  32  
  33: `git config --global user.name "Trusty Trussel"`
  34  


# remove truss, maybe use "work" instead
docs/frontend/testing/how-to-view-a-move-or-payment-request-in-the-office-app-as-a-too-or-tio.md:
  30  
  31: 1. If you haven't already, create an office user with your Truss email (the same email you used to create a login.gov account) via the [admin](https://admin.stg.move.mil) site, and give yourself both the TOO and TIO roles.
  32  2. Sign in to the [admin](https://admin.stg.move.mil) site

# same
docs/getting-started/application-setup/01-prerequisites.md:
  16  ```bash
  17: git config --global user.email "[email protected]"
  18: git config --global user.name "Trusty Trussel"
  19  ```

 
# switch to generic thing
docs/getting-started/development/creating-alternative-users-with-the-same-email-address.md:
  2  
  3: You can use the plus sign `+` to create a new Truss email address.
  4: `[email protected]` will be treated as a new address, but will be
  5: routed to your `[email protected]` email automatically. Don't use this for the
  6  office-side of account creation. It's helpful to use these types of accounts for

docs/getting-started/development/how-to-create-and-submit-PR.md:
  40  
  41: a) Under “Reviewers”, select your team from the dropdown. If you are making a change to the Frontend that also affects the layout/design of the app (i.e. adding a new form on a page), you’ll need to also select the “truss-design” team. Similarly, if you are making a change to the database, you’ll also need to select the “truss-db” team.
  42  

  46  If you also need design/database review, one person from those teams will need to approve your PR as well. <br/>
  47: **Please note**: Depending on what parts of the code your PR touches, some reviewers will be automatically assigned to the PR. For ex: if your PR is frontend and you have code changes in Storybook or .scss files, the truss-design team will be automatically assigned as a reviewer. 
  48  

# remove Trussels
docs/guides/adrs/README.md:
  4  
  5: Architecture Decision Records or **ADRs** are the way Trussel engineers
  6  communicate changes throughout the MilMove project. The term architecture can be

# remove Truss, Probably truss engineering
docs/help/Resources-for-learning-our-technology-stack.md:
  12  #### Books / Courses / Tutorials
  13: * [Epic React](https://epicreact.dev/) - paid course that is popular at Truss.
  14  
  15: ### Truss Resources
  16: * [Truss engineering playbook frontend resources](https://transcom.github.io/mymove-docs/docs/frontend)
  17  * [MilMove Frontend docs](https://transcom.github.io/mymove-docs/docs/frontend)

  29  * [Go By Example](https://gobyexample.com/)
  30: * [Go: The Complete Developer's Guide](https://www.udemy.com/course/go-the-complete-developers-guide) - paid course that's popular at Truss.
  31  
  32: #### Truss resources
  33: * [Truss engineering playbook resources for Go](https://playbook.truss.dev/docs/developing/languages/GO)
  34: * [Go pointer primer (repository)](https://github.com/trussworks/go-pointer-primer) - a guide to Go pointers authored by [MacRae](https://github.com/macrael)
  35  * [MilMove Backend documentation](https://transcom.github.io/mymove-docs/docs/backend/)


@melissathai
Copy link
Contributor Author

That's a great point @kingishb-truss -- I wasn't super sure how we want to handle all the instances of Truss-specific language (so far I just removed links to the Truss Slack workspace), but I think your suggestions seem pretty spot on.

Copy link
Contributor

@rogeruiz rogeruiz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ This PR needs changes ...

Great work on this @melissathai. I have some changes that I think would help. If others disagree, please dismiss my review so this PR can be merged in at the team's pace. The changes are small here and not all my comments are suggestions. I've prefixed the actual suggestions here with an ❌ emoji.

@melissathai melissathai force-pushed the mt-MB-16927-update-docs branch from 434b385 to 1c88cf4 Compare August 29, 2023 18:09
@melissathai
Copy link
Contributor Author

Hi @rogeruiz , @kingishb-truss had great questions that I don't know the answer to. Do you have context on these?

# fresh-brew 404's for me I'm not sure if it exists
.gitignore:
27 # fresh-brew
28: # These files are meant to be updated in the trussworks/fresh-brew repo
29 Brewfile

I don't see it either. The closest thing I can find is the fresh-brew.local file in mymove. Is it safe to remove that section in the .gitignore?

# Maybe don't copywright this to truss?
docusaurus.config.js:
144 ],
145: copyright: Copyright ${new Date().getFullYear()} U.S. Federal Government (in countries where recognized) and TrussWorks. Built with Docusaurus.,
146 },

# Maybe don't copywright this to truss?
LICENSE:
1: Copyright 2021 U.S. Federal Government (in countries where recognized) and TrussWorks
2

Not sure what to do about the copyright. My guess is that we wouldn't want to remove it until our contract ends on September 30?

# I don't personally think we should link an individual engineer's github
docs/backend/guides/switching-over-to-nix.md:
43 * Finding the hashes for any given package version can be a pain.
44: * We have a package search setup by Truss that can help with this, but ideally we could do it easier.
45 * You can also use it on your command line like so:

Agreed. I removed the command line command, but not sure what to do about the link to the nix search app since it's actually quite useful for nix users.

It also seems like the the Switching over to Nix (cc original author, @felipe-lee ) page is more like an investigation/discovery doc than a how-to guide. I wonder if this should be moved over to Confluence, as per the Where should my documentation go guide.

@@ -28,9 +28,9 @@ If you are using git from the terminal it is worth configuring your user setting

1. From the Terminal set the user email and user name to match your GitHub account by changing the values in quotes below one line at a time.

`git config --global user.email "[email protected]"`
`git config --global user.email "[email protected]"`
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙃


## AWS Services

This project uses AWS services which means you'll need an account to work with parts of it. AWS credentials are managed via `aws-vault`. Once you have received AWS credentials (which are provided by the infrastructure team), follow these instructions to [finish setting up AWS](https://dp3.atlassian.net/wiki/spaces/MT/pages/1250066433/0029+AWS+Organization+Authentication).
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

General comment: I've never really understood why the mymove project is open-source when you need credentials supplied by our infrastructure team in order to develop on it. Just food for thought 🤔

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this is a good example of the borders between how we work and how our compliance and contracts. It's a balance. Technically speaking, you could standup an AWS environment with the similar inputs/outputs needed to run the application locally. I believe that one of the decisions here to use tools like aws-vault is that it was easier on the developer experience as well. But this is a great topic for the engineering guilds on the Truss-side to discuss further.

@rogeruiz
Copy link
Contributor

I don't see it either. The closest thing I can find is the fresh-brew.local file in mymove. Is it safe to remove that section in the .gitignore?

Yes I think this is something we can remove from the .gitignore.

@rogeruiz
Copy link
Contributor

Not sure what to do about the copyright. My guess is that we wouldn't want to remove it until our contract ends on September 30?

I don't think we'd want to touch the contract, but perhaps we could change the show date to not sure a date passed 2023 that involves Truss? That might be a good compromise here. It's also likely that the license could change in the future by USTC.

@rogeruiz
Copy link
Contributor

Agreed. I removed the command line command, but not sure what to do about the link to the nix search app since it's actually quite useful for nix users.

So this application was created by @ahobson to support Trussels using Nix. I'd ask him directly to see if there's a plan to place it under the TrussWorks organization rather than his own. I know Nix is still considered experimentally internally and not just on the USTC project.

It also seems like the the Switching over to Nix (cc original author, @felipe-lee ) page is more like an investigation/discovery doc than a how-to guide. I wonder if this should be moved over to Confluence, as per the Where should my documentation go guide.

I would push back a little on moving this into Confluence since Nix is still experimental. But I'm not against moving it if others agree with you here. My reasoning is that rather than moving it to Confluence, we just remove it from our documentation all together. We could then move this specific Nix setup to something like our Truss Engineering Playbook since it's still an experiment for the Engineering practices.

@melissathai
Copy link
Contributor Author

So this application was created by @ahobson to support Trussels using Nix. I'd ask him directly to see if there's a plan to place it under the TrussWorks organization rather than his own.

Sounds good. Maybe we can take that conversation offline and put up another PR updating the respective links when a decision is made.

My reasoning is that rather than moving it to Confluence, we just remove it from our documentation all together. We could then move this specific Nix setup to something like our Truss Engineering Playbook since it's still an experiment for the Engineering practices.

Also sounds good to me. I'll leave it here for now and remove it once it's been migrated to the Truss Engineering Playbook.

@@ -142,7 +142,8 @@ module.exports = {
],
},
],
copyright: `Copyright ${new Date().getFullYear()} U.S. Federal Government (in countries where recognized) and TrussWorks. Built with Docusaurus.`,
// Truss contract ends in 2023. Do not show a date that surpasses 2023 that involves Truss.
copyright: `Copyright ${Math.min(new Date().getFullYear(), 2023)} U.S. Federal Government (in countries where recognized) and TrussWorks. Built with Docusaurus.`,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated copyright

@rogeruiz rogeruiz self-requested a review August 30, 2023 18:19
@rogeruiz rogeruiz dismissed their stale review August 30, 2023 18:20

dismissing this as it's a Stale review now.

Copy link
Contributor

@rogeruiz rogeruiz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm 🌈

Great work on this @melissathai. 🚀

@rogeruiz rogeruiz added documentation Improvements or additions to documentation ready-to-merge enhancement labels Aug 30, 2023
@mergify mergify bot merged commit 38e7716 into main Aug 30, 2023
@mergify mergify bot deleted the mt-MB-16927-update-docs branch August 30, 2023 18:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement ready-to-merge
Development

Successfully merging this pull request may close these issues.

3 participants