Questions to address for app development and deployment
- Dominant language
- Python
- Stars
- 4.3k
- Forks
- 371
- Avg merge
- 26d 1h
- Merged PRs (30d)
- 1
Description
Via @meganjkurka:
For apps that we are planning to provide/sell to customers (i.e. passed prototype phase) could we have a list or example of best practices or a checklist - just off the top of my head these are questions I would think about:
- [x] what happens if the app fails? are there logs we can ask for?
- [ ] how should custom configurations be passed? is there a config.py that the developer should create?
- [ ] if the app creates reports, how does the app provide the user with the ability to go back to old reports?
- [ ] if the app creates reports, does the user have the ability to download a static version of that report for reference?
- [ ] how does the customer/SE provide feedback to the developer? is there a link to the github repo where the user can create issues?
- [ ] does the app have instructions on how to use it?
- [x] where is the changelog that tells users what has changed between versions of the app?
- [ ] if the app connects to other software (i.e. DAI, H2O-3, spark, etc.) what versions of these softwares are supported? where can the user find this information? what happens if the user tries to connect to a version that is not supported?
- [ ] how does the app gracefully handle error handling? i.e. if one part of the report can't render does the whole app fail or does that one part not show?
- [ ] does the app clean up any temporary files generated?
- [ ] does the app have tests? are the tests run before a new version is released?
- [ ] what is the suggested criteria for a PR to be approved on an app? i.e. the PR includes a test on the code change, the PR is reviewed by another developer, etc.
- [ ] if the app is using a data science technique, does the app provide references to this technique (papers, etc.)?
Contributor guide
Assessment
This issue has not been assessed yet.