The system setup guide provides instructions for setting up the tools you need for the initial system setup. However, if you want to work on developing the software for the system, here are some tips that might help.
The following accounts will be required to develop and run the application:
## Tools
1. GitLab
1. AWS
-[VSCode](https://code.visualstudio.com/) along with the following extensions:
-[GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens): Even if you use the CLI for most Git functions, this still has many helpful features.
-[REST Client](https://marketplace.visualstudio.com/items?itemName=humao.rest-client): This extension makes API requests quick and easy. The extension supports making requests requiring authentication.
To run the application, only the following tools are strictly required:
## GitFlow
[GitFlow](https://nvie.com/posts/a-successful-git-branching-model/) is a popular method for managing Git branches. The code for this system will be managed using the general principles outlined in GitFlow. The branches utilized are as follows:
To actively develop the application, the following tools will also be required:
*Git
The following tools are recommended, though these particular applications are not explicitly required:
* VSCode with the following extensions:
* GitLens
* REST Client
## Branches
`master`: The tip of `master` represents the code that is currently deployed to the `prod` environments.
`develop`: The tip of `develop` represents the latest completed features. This, or a feature in progress, is the code that lives in the `test` environments. When ready to promote and push more features to prod, `develop` is merged into `master`.
`features/<issue-number>`: A branch is used for each issue work, though sometimes multiple issues may end up getting accomplished on a single branch. Once the feature is completed, this is merged into `develop`.
Note: The code currently on `master` is not in prod, since I'm still working on the initial MVP.
\ No newline at end of file
-`master`: The tip of `master` represents the code that is deployed to the `prod` environment. `develop` is merged into `prod` typically when feature sets are complete. This is a branch others can track if they are just interested in using the code.
`develop`: The tip of `develop` represents the latest completed work. This, or a feature in progress, is the code that lives in the `test` environment.
`feature/<issue-number>`: A branch is used for each issue work, though sometimes multiple issues may end up getting accomplished on a single branch. Once the feature is completed, this is merged into `develop`.