You are free to structure your respective repositories as you wish. However we recommend keeping everything in a monorepo so that deployments are easier to handle.
It is sometimes recommended to have multiple Dockerfiles. I.e. one for your backend, frontend, and any other services that you guys will rely on. Using a docker-compose file to orchestrate building all your services in conjunction. For further development, you can choose to seperate out production and development Dockerfiles seperately (i.e. for compiled projects the build portion is usually different if one wishes to develop vs to deploy).
Once completed, please reach out to a Technical Chief if you wish to have some aid deploying.
Documentation, style-guides, and best practices should be kept in a repo level folder docs/. It is crucial to have
your team reference these docs extensively to provide a consistent styling of code across the repo.
It is critical that on every single merge to main, you enable a specific subset of checks to run. These should include
- Linting/Formatting
- Unit/Integration Tests
- Deployments (Sometimes its better to allocate another branch for deployments, such as
releaseorproduction)
You might find it useful to call some upstream workflows from Shiperate