Colophon
The Name
The name "Apatosaurus" grew out of my distaste for the name of its predecessor, "Apparatus Explorer." That previous version quickly became misnamed as I added functionality to it so that it was much more than merely an app for visualizing a TEI apparatus. But it was also unwieldy to say or type. And it is boring.
So, "Apatosaurus" was chosen because it sounds like "apparatus," and it is a lot more fun to say! (For me, anyways). Plus, the taglines for an app named after a dinosaur write themselves.
Open Source
Apatosaurus is open source using the GPL-3.0 license. Even during its pre-launch development the repository was public and hosted on GitHub. Anyone can view the source code or run Apatosaurus locally on their own computer. This also means I am open to contributions. Check out the Public Apatosaurus Source Code Repository.
Front End Technology
- HTMX for dynamic interactivity with the server and AJAX. I have strived to keep the Apatosaurus front end simple and maintainable for a single full stack developer (that'd be me). HTMX enables me to have the type of interactivity normally reserved for big frameworks like React and Vue without the overhead and complexity.
- _hyperscript for front end scripting (toggling CSS classes, opening modals, etc.).
- Tailwind CSS for styling. The overall feel of the light theme is meant to evoke the colors of parchment manuscripts. Light tan/yellow/peach parchment and brown ink that has a hint of red (not to mention lots of actual red in headings and marginalia). The dark theme is simply a custom design. I am very open to feedback to improve the design.
- Font (for the nerds)
- To prevent user tracking and protect user privacy, I am not using any Google fonts nor any other Google services.
- Sans serif: Inter
- Serif: Lora
- Greek: Gentium Alt
Back End Technology
- The main application is written in Python and uses the Django web framework.
- Redis for caching and task queues.
- huey (a lightweight Celery alternative) for long-running tasks and background tasks.
- NGINX for reverse proxying and most of the static file delivery.
- Postgres for the database.
- Litestream for continuous replication of the SQLite database to AWS S3.
- Docker: Apatosaurus is fully containerized and each of the above services runs in its own container(s). Local development is done using Docker Compose.
- Docker containers are deployed to an AWS ECS cluster.
- SSL by Cloudflare.