|--> Production (Most Stable Release)
|----> Staging (Quality Assurance Testing)
|------> Development (Feature Changes)
|--------> Feature Branch (Unique Feature Change)
- Create a new branch from
dev
, which can be done with the following command:git checkout dev & git pull & git checkout -b NAME_YOUR_BRANCH
- Implement your changes and include the following:
- Documentation
- Unit Tests
- Create a pull request that merges your branch into
dev
- Ensure all checks pass and then get 2 rounds of code review
- Once your pull request is ready for merge, merge your branch!
- Delete your branch if it is no longer re-usable
- Install the Flutter SDK
- To run:
- First start the emulator of your choice (iOS or Android)
flutter run
- To test:
flutter test
- To test and generate ALL golden files (don't do this unless everything changed!)
flutter test --generate-goldens
- To test and generate specific golden files (new test or regen. a specific test)
flutter test --generate-goldens --name=<Name of Group or Test Description>
- Install Python +3.8
- Open a terminal in the DCT Backend directory
- Install dependencies:
python3 -m pip install -r requirements.txt
- Start backend server:
uvicorn server:app
- To test endpoints: Use your browser or postman
- Install Python +3.8
- Open a terminal in the DCT Backend directory
- Install dependencies:
python3 -m pip install -r requirements.txt
- Start backend server:
uvicorn server:app
- To test endpoints: Use your browser or postman
Use all lowercase names with "-" as spaces. The branch name should be short and sweet. Ex: app-backend
Keep commit messages as appropriately short as possible. Use the imparitive mood and split changes with commas. Ex: Add '/menu' route, Fix UI Bug
- Start your code review by clicking on
Files Changed
in the Pull Request View - Take a quick glimpse to see what the user files the user has changed
- Review the Pull Request title, description, and commit messages to ensure the Pull Request implemented what it says it does
- Throughly review the code to verify implementation does what it set out to do
- Remember to look for unclear variable and method names
- Remember to look for documentation for medium/large methods that describe the method and parameters
- Remember to look for unreadable code! The one liner solution isn't always the best!
- Remember to look for hardcoded variables! They should be abstracted as much as possible! This includes UI styling, sizes, colors, etc!
- Remember to look for thorough, passing unit tests! We don't want to test that X = X but that F(X) = Y for any known X
- Leave comments that request changes and/or leave kuddos!
- Don't forget to submit your review!