publicgoods-candidates
publicgoods-candidates copied to clipboard
Add DPG: FormSG (10623)
Public Link : https://app.digitalpublicgoods.net/a/10623
The project depends directly on several AWS services and MongoDB (hard dependency).
Docs with steps to migrate away from MongoDB: https://github.com/opengovsg/FormSG#database-alternatives
There are multiple proprietary elements to note: - integrations with proprietary services, like the Singapore National Identity system Singpass. This cannot be replaced, but adopters may replace authentication systems with whatever identity platform of their country, or disable the identity system altogether - AWS SQS: formSG operates on AWS and uses some AWS-specific tools, like SQS for webhook retries. That could be replaced quite easily with open source solutions like RabbitMQ. - FormSG uses AWS SES to send emails. Any other SMTP mailing solution could work. - FormSG uses AWS S3 for its object store. A custom system for storage (even local with a local NAS) - For Monitoring and Observability, FormSG integrates to DataDog. This is mostly non-intrusive in code, and could be replaced with other providers. DataDog is a multi-tool system with tracing, metrics, RUM, etc., each of those could be replaced by something else (open tracing solutions https://opentracing.io/, statsd server https://github.com/statsd/statsd, sentry https://github.com/getsentry/sentry, etc.) - FormSG uses MongoDB (a document database), with the mongoose driver https://www.npmjs.com/package/mongoose. With substantial effort, the database could be replaced with another document database like CouchDB.