Software Environment

Program standards anticipate using substantial, enterprise capability, and software tools.

Python (Programming Language/Interpreter); Django (web framework); PostgreSQL (database manager); & GitHub/GitLab (cloud repositories).

Zoom/Skype/Jitsi (meetings/communications); Mailman3 (listserver communications); Discord (discussion & communications); YYY (documentation); (use case design); (block diagrams); WordPress (communications/sounding board); XXX (fundraising); Screencast Omatic (training & testing); etc.

ZZZOSS currently owns a desktop server that can be networked as a sandbox system for development, testing and debugging, but it would not be adequate for any significant level of production.

While these applications and software can be configured to scale up for modest volumes, we would need to acquire additional hardware. Tuning and balancing hardware will be essential to achieve optimal results.

But for really large throughputs such as may be required in the future for elections for populous municipalities (after starting with more modest projects), we may need to explore converting some programs and/or switch to AWS or some other cloud service for applications that require substantial increases in speed and throughput.

Security will be paramount throughout development as most projects will rely on this level of security to reassure the public and to instill confidence as it enters personal data into the cloud. Programmers will require multi-factor hardware keys to enable commits to the software repository.

Critical data files will be encrypted. End-to-end encryption will be supported where possible. To be programmed in English but user interfaces and error messages will be available in English, French, and Spanish, the three major languages in North America. The programs will be structured so that other languages can be easily added.

It will be a ZZZOSS goal to incorporate and teach security from both a developer and user perspective.