Development
Note
If not stated otherwise, the development documentation currently applies to all Ekklesia Python web apps, ekklesia-portal and ekklesia-voting. ekklesia-portal is used as an example in the documentation.
Backend:
Main language: Python 3.11
Web framework: Morepath
Web API framework for ekklesia-notify: FastAPI
Frontend
Database: PostgreSQL 15
Dependency management and build tool: Nix
Documentation: Sphinx with MyST Markdown parser.
(Optional) Docker / Kubernetes for running Docker images built by Nix