Familiarize yourself with our key projects:
Repository | Description |
---|---|
Client | React client application |
GraphQL API | Core GraphQL API |
Infrastructure | Terraform CDKTF projects for provisioning infrastructure |
Getting your development environment up and running is easy with our setup script!
- Download the setup script: Setup script
- Open Git Bash and run:
sh setup.sh
- Node.js - Node.js® is a free, open-source, cross-platform JavaScript runtime environment
- TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output
- Apollo GraphQL - GraphQL server
- Amazon Web Services (AWS) - Cloud services provider
- Terraform CDKTF - Infrastructure as code framework
- Docker - Containerization platform
When starting a new task, create a new branch using a descriptive name for the feature or fix you're working on. Use one of the following prefixes based on the type of work:
bug/
- For bug fixesfeature/
- For new featureshotfix/
- For critical fixes that need immediate attentionrefactor/
- For code refactoring with no functional changes
Examples:
git checkout -b "feature/descriptive-branch-name"
git checkout -b "bug/descriptive-branch-name"
git checkout -b "hotfix/descriptive-branch-name"
git checkout -b "refactor/descriptive-branch-name"
As soon as you have made some progress on the task, open a new Pull Request (PR) to allow others to review your code. Include a clear and descriptive title for your PR, prefixed with the type of change:
[BUG]
- For bug fixes[FEATURE]
- For new features[HOTFIX]
- For critical fixes[REFACTOR]
- For code refactoring
Additionally, you can add the "work-in-progress" label to the PR to indicate that it is still a work in progress.
As you make changes, commit your code regularly with meaningful commit messages that describe the changes you've made.
git add .
git commit -m "Brief description of your changes"
git push
Since we don't have the GitHub team premium tier yet, merge rules are not enforced. Once you have received two approvals from reviewers on the PR, you can merge it into the main branch.
Before merging, make sure to mark the PR as "review-ready" by removing the "work-in-progress" label if you added it earlier.
After receiving the necessary approvals and addressing any feedback, you can merge the PR into the main branch using the GitHub interface or the following command:
git checkout main
git merge feature/descriptive-branch-name
git push
Finally, delete the merged branch locally and remotely:
git branch -d feature/descriptive-branch-name
git push origin --delete feature/descriptive-branch-name
By following this workflow, we can maintain a consistent and organized Git branching structure, facilitate code reviews, and ensure a smooth integration of changes into the main codebase.