... | ... | @@ -8,7 +8,7 @@ Unless you are familiar with coding inside a docker environment, the second solu |
|
|
|
|
|
## Coding workflow and guidelines
|
|
|
* We use gitflow (no extension), so:
|
|
|
new feature/fix branch -> Pull Request -> Peer Review -> merge into develop -> tag master -> merge develop into master -> deploy
|
|
|
new feature/fix branch -> Pull Request -> Peer Review -> merge into develop -> merge develop into master -> tag master -> deploy
|
|
|
* [cia python guidelines](https://wikileaks.org/ciav7p1/cms/page_26607631.html)
|
|
|
So basically pep8 with some additions and a few lifted restrictions, notably
|
|
|
> Each line of text in your code should be at most 100 characters long.
|
... | ... | @@ -40,10 +40,11 @@ Doesn't contain any models, it only defines `django-rest-framework` endpoints fo |
|
|
__3) imports__
|
|
|
Historicaly Missleading name, it deals with both importing and exporting data.
|
|
|
|
|
|
__4) helper apps: versioning, users, bootstrap__
|
|
|
__4) helper apps: versioning, users, bootstrap, reporting__
|
|
|
* versioning defines an abstract model to keep the history of a model instance
|
|
|
* users stores everything related to users but unrelated to the business logic;
|
|
|
* bootstrap is just a display layer to automate generating bootstrap css frontend forms.
|
|
|
* reporting helps getting feedback on long/asynchronous processes, and gather usage statistics.
|
|
|
|
|
|
> _Warning_: It is very important to import one way only, from the more general app to the more specific app (to the business model).
|
|
|
> Not only does it protects against circular imports but it's also good design to have your data flow one way only.
|
... | ... | |