Checkmatrix for ‘eStep friendly’ projects.
Printable check-list — complete this checklist to ensure your project is eStep-ready. If you can tick all boxes on this form, your project should be included as an eStep Mature project.
Version Control
Item / Phase |
Done |
use git as version control system (vcs) |
|
use GitHub flow branching model (use feature branches and pull requests) |
|
public vcs repository (github) |
|
meaningful commit messages |
|
Releases
Item / Phase |
Done |
semantic versioning |
|
tagged releases (github releases) |
|
CHANGELOG.md (Keep a CHANGELOG) |
|
one command install (pip, npm etc) |
|
package in package manager (pypi, npm etc) |
|
discuss release cycle with coordinator |
|
release quick-scan by other engineer (is documentation understandable, can it be installed, etc) |
|
notify Lode for dissemination (news item on site / annual report, etc) |
|
Licensing
Item / Phase |
Done |
Apache 2 license |
|
compatible license of all libraries |
|
NOTICE(.txt or .md) listing licenses, request citation of paper if applicable |
|
Communication
Item / Phase |
Done |
home page with all the necessary introduction information, links to documenation, source code (github) and latest release download (eg. github.io pages) |
|
project discussion list (github issues, mailing list, not private email) for all project related discussions from the beginning of the project |
|
for services: a demo docker image in dockerhub (with Dockerfile) |
|
for websites: an online demo |
|
Pitch presentation (1 to 3 slides) |
|
Few sentences about the project for the technology pages on our website |
|
Testing
Item / Phase |
Done |
unit tests |
|
build tests |
|
continuous integration, public on Travis |
|
continuous code coverage and code quality metrics public, minimum 70% coverage required |
|
end2end test for (web) user interfaces |
|
track dependencies (with David or other service depending on codebase language) |
|
Documentation
Development setup
Item / Phase |
Done |
using the eScienc Center coding style is required |
|
editorconfig |
|
applied code style in automated way if possible (i.e using linters and code formaters) |
|
dev environment docker images in Dockerhub (with Dockerfile) |
|
Use standards
Item / Phase |
Done |
exchange format (Unicode, W3C, OGN, NetCDF, etc) |
|
protocols (HTTP, TCP, TLS, etc) |
|