-
Notifications
You must be signed in to change notification settings - Fork 1
Technology Solution Proposal
CIVIC Software Foundation Proposal for the Open and Accountable Elections Program (OAEP) Application
Outline
- DNS Solution
- Hosting
- Database
- Database Cache
- File Storage
- Email System
- Bug Reporting
- Backend App
- Frontend App
- Version Control
The Open Elections project resources are located in their own separate virtual private cloud to isolate the instances.
The VPC is tagged openelections.
CSF will buy a short domain name, and then forward the name to a subdomain on the civicsoftwarefoundation.org. Hosting CIVIC Software Foundation will be hosting the entirety of the OAEP Application on Amazon Web Services using its EC2 Container Solutions.
The OAEP Application is going to use a Postgresql database with the PostGIS spatial database extender. CSF will host the Postgresql solution in AWS Relational Database Service.
OAEP will use Redis, an in-memory data structure store, used as a database, cache and message broker. CSF will host Redis using the Elasticache solution in AWS.
OAEP will use Amazon Web Services S3 for file storage. All files will be version controlled, all documents will be encrypted at rest and backed up (using AWS s3 backup service).
This project will keep in the AWS ecosystem and use the Simple Email Service. All emails will come from [email protected]
We will use Bugsnap for tracking issues and tracking application stability.
We will use Travis CI, integrated with GitHub.
The backend will be live in a docker container on AWS EC2. It will be built using a Node REST Framework and use PostgreSQL.
The API will be written in a CRUD format with a Swagger descriptor
The background job system will be written in Node, and hosted in AWS EC2 container service
React using CSF reusable components
GitHub