...
Compliance assessment details reveal information about PIA, STRA and legal review status, among other things.
...
Users can contribute to the catalogue, by filling out a CHEFs form. The information from this form must be copied over manually to Airtable. Submission is 3 step process consisting of product information, subscriber information and compliance assessment:
...
Requirements
PIA, STRA and Risk Assessment System Integrations
...
To simplify data collection and to keep track of all of the applications, it would be desirable for the user to use the SaaS catalogue as the entry point to the procurement process. For example, if the software the user is interested in is not listed in the catalogue, they may submit a new application that will instantiate that application in the catalogue and will make them the first subscriber.
If, on the other hand, the application is already in the catalogue but the user’s ministry has not gone through procurement, then by applying through the catalogue their subscription will be added to the existing application listing.
Additionally, when users submit new subscription application, this should trigger the application in PIA/STRA/Legal Review systems as well.
Software licenses come in 3 varieties - corporate (government wide), enterprise (ministry-wide) and personal. Corporate agreements don’t require SaaS procurement process, enterprise agreements make software available for the whole ministry and need to be done only once, while personal agreements are done on the one-off basis.
...
Build Options
Backstage.io
...
ServiceNow is Application Platform as a Service (APaaS) that allows users to create IT process automation products. One of the features of the platform is the ability to create applications. The applications are written primarily with JavaScript and some version of a SQL database. Of note is that digital STRA is currently implemented using ServiceNow (Daniel Surdu).
Advantages
Integration with STRA process may be simplified due to the co-existence on the same platform
UI development may be simplified do the low-code approach to the application building
Disadvantages
Will require developers learning how to develop in the new environment
User interface will either be built into ServiceNow or will still have to be constructed separately using APIs
WordPress
Given that currently digital.gov.bc runs on WordPress, SaaS catalogue could be developed as a plugin. Gravity Forms may be leveraged for user input and new submissions mapped onto custom post types. Authentication may be accomplished with MiniOrange plugin to provide IDIR login protection. Once the custom post type is created, it exists in a draft state until an administrator verifies the information and publishes the post, causing to appear in the catalogue.
The front end can be accomplished using some JavaScript framework, such as React or Vue. Data can be consumed via a REST API endpoint exposed through the standard WordPress mechanic.
Advantages
No need to deploy and maintain a separate application.
Leverage plugins ecosystem to perform some of the functions.
Disadvantages
Application won’t be standalone and require WordPress to run
No choice for backend language - will have to be PHP
May not be appropriate for more complex future functionality (as entry point to the procurement process)
Building API-first may be awkward
Standalone
The application may be built from ground up using standard technologies such as Node.JS, React, and SQL database.
Advantages
Full flexibility in functionality of the app
Disadvantages
Takes the most work to develop
Need to maintain the application on OpenShift
Off the shelve
It may be worth exploring what type of off-the-shelf software is available that could support the business case. For instance, Service Now includes a SaaS license Management product.
Advantages
Requires least effort
Disadvantages
Likely won’t cover all use cases
Likely won’t integrate with external systems
Likely won’t provide APIs
Airtable API with custom frontend
Another possibility is to use the existing backend together with it’s administrative interface for managing the data and use Airtable API to build a new frontend with React or some other framework.
Advantages
Does not require build a new custom backend
Decouples front end into separate project - can connect it later to a different backend
Disadvantages
Requires continued Airtable subscription
Backend features might be restricted by the platform and cause issues with more advanced features, like API integrations with external services, such STRA management system
...
Decouple front end from the backend
Develop front end using react or similar framework
Try to avoid developing management interface from ground up, leverage existing packages, like nocodb or build an interface in Service Now.
Given that STRA, PIA, and legal review systems don’t yet exist or have APIs, it’s advisable to construct these parts of the SaaS catalogue as standalone virtual microservices that can later be swapped for actual APIs