Improved main readme.

This commit is contained in:
Andrew Lalis 2024-12-31 07:32:51 -05:00
parent 9669311987
commit f06a83aa1b
1 changed files with 22 additions and 0 deletions

View File

@ -1,2 +1,24 @@
# Teacher Tools
A collection of simple, easy-to-use utilities for classroom management.
## Architecture
This application is built as a Vue3 frontend web application that's served as
static content to the user, and a backend API that's organized into different
"app" namespaces for each separate sub-application provided by this site,
which might categorize this application as a *modular monolith*.
In the frontend, app-specific content is located under `app/src/apps/<app-name>`,
and in the backend, you'll find it at `api/source/api_modules/<app-name>`.
In addition to specific apps for certain features, authentication is managed
globally for the application.
## Deploying
Right now, the application is simply deployed as static web content and a
SystemD service to my DigitalOcean server. Since the API is written in D and
the app is just 100Kib of static content, this app uses almost no resources.
See the various scripts in this root directory for actions. For most cases, you
can just run `./deploy.sh` to build and deploy the API and app.