-
-
Notifications
You must be signed in to change notification settings - Fork 41
Architecture and Design Principles
- 12-factor principles
- Be accessible
- Minimal JS requirements
- Be self-hostable
The web interface is served by Servant endpoints, and the UI is designed with Tailwind CSS. A mix of HTML classes and CSS rules is used, when deemed appropriate. Few JS dependencies are required, and it should be a past of least resistance during development.
-
All data that is not a package tarball is saved in a PostgreSQL database.
-
Session Ids are stored in browser cookies, with a default TTL of 1 week when the user wishes to be remembered.
-
Package tarballs are to be stored in an S3-compatible service when you need to be 12-Factor compliant, or on FS if you need to.
-
Fundamentally, everything but caching has to be accessible from any applicative server. Load-balancing must be made very easy.
Logging and metrics are first-class components of the server. Optional integrations are available for Prometheus and Sentry.