====== Minimal V5 Project Requirements ====== ===== Design ===== * Abstract technology low-level primitives with well defined high-level APIs to allow to exchanged underlying technologies with minimal overhead. * Loose coupling whenever possible which is similar to separation of concern and always use interfaces for communication between objects. ===== Structure ===== * Minimal logging is mandatory with a distinct long name that should be similar to the project name, like 'v5_sim_api' * There should be a non-trivial README.md with a brief project overview and possible Wiki sites * If external data is required for tests, there should be a dedicated folder with a README that contains the instructions to fetch the data * Minimal unit tests that are all located in ./tests and executable by 'pytest ./tests' * For old docker projects, run_local.sh must mount all source folders to automatically reload internal services when local source code changes * A docker restart policy should be set, like ''%%–restart always%%'' keywords: git v5 project requirement guidelnes