Minor-Illusion
- Demonstrating how various frameworks fit together to assist onboarding new developers at Noteable
- Offering a place to prototype and experiment with large systemic changes, such as upgrading database interactions to be asynchronous
- Providing example code style and framework choices to job candidates, and possibly as a tool for exploring concepts during interview sessions
The stack
-
Backend:
- Hypercorn for the ASGI server
- FastAPI for the web framework
- Pydantic for data validation
- SQLAlchemy for database ORM
- sqlalchemy-cockroachdb + asyncpg for the database driver
- Alembic for database migration
- SQLModel (in development) for Pydantic + SQLAlchemy convergence!
- Structlog for logging
- Poetry for package management
- Pytest for writing tests
- tox for running tests
-
Database:
-
Prototyping, exploration, and integration tests:
-
Frontend:
-
Docs:
-
Reverse-Proxy:
- Traefik for reverse-proxy and load-balancing between backend instances