An LMS for the ITAM community.
- Courses
- Homeworks
- Live Streams
- Admin panel
ITAM Education supports integration with some third-party tools.
Telegram bot is used for user login and notifications. Check itam-edu-tg package for more information.
GitHub App manages GitHub organization of the course. Check itam-edu-gh package for more information.
Important
GitHub integration is not implemented yet.
ITAM Education platform consists of multiple NodeJS/Bun packages that communicate with each other over typesafe HTTP powered by Elysia.
- itam-edu-web - frontend web application
- itam-edu-api - REST API backend
- itam-edu-tg - companion Telegram bot
- itam-edu-db - database migrations
All packages are built into OCI images and hosted on GitHub Container Registry.
git clone https://github.com/ClayenKitten/itam-edu.git
Copy every .env.example
in packages/PACKAGE_NAME
as .env
and modify values
Note
All services are started at port 3000
, changes to ports in .env
will be ignored.
Compose deployment includes Caddy as a reverse-proxy.
Copy Caddyfile.example as Caddyfile
and adjust its content as needed.
docker compose up --detach
WIP
Run task
to see a list of available commands.
The development environment is setup by running task dev:up
.
This command starts the reverse proxy, PostgreSQL, and all packages in development mode with hot reloading enabled.
Service | Description | URL |
---|---|---|
itam-edu-web | Frontend | www.localhost |
itam-edu-api | Backend | api.localhost |
itam-edu-tg | Telegram bot | |
dbgate | Web interface to Postgres | db.localhost |
PostgreSQL | PostgresSQL RDBMS | localhost:5432 |