2026-01-31 00:37:13 -06:00
2026-01-31 00:37:13 -06:00
2026-01-31 00:37:13 -06:00
2026-01-31 11:30:43 -06:00

banner

A complex multi-service system providing a Discord bot and browser-based interface to UTSA's course data.

Services

The application consists of three modular services that can be run independently or together:

  • Discord Bot (bot)

    • Primary interface for course monitoring and data queries
    • Built with Serenity and Poise frameworks for robust command handling
    • Uses slash commands with comprehensive error handling and logging
  • Web Server (web)

    • Axum-based server with Vite/React-based frontend
    • Embeds static assets at compile time with E-Tags & Cache-Control headers
  • Scraper (scraper)

    • Intelligent data collection system with priority-based queuing inside PostgreSQL via sqlx
    • Rate-limited scraping with burst handling to respect UTSA's systems
    • Handles course data updates, availability changes, and metadata synchronization

Quick Start

bun install --cwd web  # Install frontend dependencies
cargo build  # Build the backend

just dev # Runs auto-reloading dev build with all services
just dev-build # Development build with release characteristics (frontend is embedded, non-auto-reloading)

just build # Production build that embeds assets

Documentation

Comprehensive documentation is available in the docs/ folder.

Description
No description provided
Readme 4 MiB
Latest
2026-01-31 00:37:13 -06:00
Languages
Rust 55.7%
Svelte 28.6%
TypeScript 14.6%
CSS 0.6%
Dockerfile 0.3%
Other 0.1%