Developer Best Practices
Software Developer Best Practices
Getting Started
To expedite the learning curve of our developers, at Blueprint, we have a set of standarized frameworks projects teams use to develop solutions for the non-profits. You can find our list of frameworks here.
In every project you will find a README.md file that contains a basic description of the project and most importantly setup instructions to run the service. If you have any issues when following the steps or are missing environment variables, please contact your Tech Lead for further guidance.
Codebase
The structure of the codebase is very framework dependent, as different frameworks might need different directories. However, the structure most projects follow is the following:
/src # All the service code will be here
/moduleA
/moduleB
/config # Any env + infra configs
/docs # specs + diagrams
/tests # unit tests + integration tests
Development Workflow
Working in team can get messy and convoluted. Therefore we have the following development workflow.
- Our teams use the SCRUM methodology to assigns tasks to every member of the team. Each week, your Tech Lead will assign an issue to you with a description of what has to get done (See example).
- Create a branch for the issue you are working on. We have the following branch naming conventions
- `feat`: Branch has new feature work
- `fix`: Branch is fixing a bug
- Write your code. Commit and Push your changes. We have the following commit naming conventions.
- Create a Pull Request
- Request review from your Tech Lead and Coding Buddy
- Address any feedback and comments
- Merge once your PR is approved
CI/CD
Whenever you push code to a repository, there might be some workflow setup to help us automate some tasks that include:
- Deployments: Update the code in prod or staging environments
- Testing: Running integ and unit testing on new changes to make sure tests are updated or not broken
- Linting: Make sure everyone follows the same language conventions
No Comments