Mod-reading-room Module submission self-evaluation
- Step 1 - select one of the 3 results below against each criteria:
- ACCEPTABLE
- UNACCEPTABLE
- INAPPLICABLE
- Step 2 - provide evidence
Criteria | Comments/ Action Items |
|
| |
---|---|---|---|---|
1 | Uses Apache 2.0 license | Acceptable | https://github.com/folio-org/mod-reading-room/blob/master/LICENSE | |
2 | Module build MUST produce a valid module descriptor | Acceptable | https://github.com/folio-org/mod-reading-room/blob/master/descriptors/ModuleDescriptor-template.json | |
3 | Module descriptor MUST include interface requirements for all consumed APIs | Acceptable | ||
4 | Third party dependencies use an Apache 2.0 compatible license | Acceptable | ||
5 | In order to ensure reproducible builds, snapshot versions of build-time dependencies should not be referenced. | Acceptable | https://github.com/folio-org/mod-reading-room/blob/master/pom.xml | |
6 | Installation documentation is included
| Acceptable | ||
7 | Personal data form is completed, accurate, and provided as | Acceptable | https://github.com/folio-org/mod-reading-room/blob/master/PERSONAL_DATA_DISCLOSURE.md | |
8 | Sensitive and environment-specific information is not checked into git repository | Acceptable | ||
9 | Module is written in a language and framework from the officially approved technologies page | Acceptable | ||
10 | Module only uses FOLIO interfaces already provided by previously accepted modules e.g. a UI module cannot be accepted that relies on an interface only provided by a back end module that hasn't been accepted yet | Acceptable | https://github.com/folio-org/mod-reading-room/blob/master/descriptors/ModuleDescriptor-template.json | |
11 | Module gracefully handles the absence of third party systems or related configuration | Acceptable | ||
12 | Sonarqube hasn't identified any security issues, major code smells or excessive (>3%) duplication | Acceptable | https://sonarcloud.io/project/overview?id=org.folio%3Amod-reading-room | |
13 | Uses officially supported build tools | Acceptable | https://github.com/folio-org/mod-reading-room/blob/master/Dockerfile | |
14 | Unit tests have 80% coverage or greater and are based on officially approved technologies | Acceptable | https://sonarcloud.io/summary/new_code?id=org.folio%3Amod-reading-room | |
15 |
| Acceptable | https://github.com/folio-org/mod-reading-room/blob/master/descriptors/ModuleDescriptor-template.json | |
16 | Module includes executable implementations of all endpoints in the provides section of the Module Descriptor | Acceptable | https://github.com/folio-org/mod-reading-room/blob/master/descriptors/ModuleDescriptor-template.json | |
17 | Environment vars are documented in the ModuleDescriptor
| Acceptable | https://github.com/folio-org/mod-reading-room/blob/e117ae4e11e31978681fab19687642cfd724c9ef/descriptors/ModuleDescriptor-template.json#L150 | |
18 | If a module provides interfaces intended to be consumed by other FOLIO Modules, they must be defined in the Module Descriptor "provides" section | Acceptable | https://github.com/folio-org/mod-reading-room/blob/e117ae4e11e31978681fab19687642cfd724c9ef/descriptors/ModuleDescriptor-template.json#L14 | |
19 | All API endpoints are documented in RAML or OpenAPI | Acceptable | https://github.com/folio-org/mod-reading-room/blob/e117ae4e11e31978681fab19687642cfd724c9ef/pom.xml#L42 | |
20 | All API endpoints protected with appropriate permissions as per the following guidelines and recommendations, e.g. avoid using | Acceptable | ||
21 | Module provides reference data (if applicable), e.g. if there is a controlled vocabulary where the module requires at least one value | Inapplicable | ||
22 | If provided, integration (API) tests must be written in an officially approved technology
| Acceptable | https://jenkins-aws.indexdata.com/job/Testing/job/Scheduled%20Karate%20Tests/1272/cucumber-html-reports/report-feature_432_2373279349.html | |
23 | Data is segregated by tenant at the storage layer | Acceptable | ||
24 | The module doesn't access data in DB schemas other than its own and public | Acceptable | ||
25 | Any dependencies, other than on defined interfaces, are declared in the README.MD | Inapplicable | No other external dependency | |
26 | The module responds with a tenant's content based on x-okapi-tenant header | Acceptable | ||
27 | Standard GET | Acceptable | ||
28 | High Availability (HA) compliant
| Acceptable | ||
29 | The module only uses infrastructure/platform technologies on the officially approved technologies list.
| Acceptable |