How r4r1ty-tech/aistudydevb2bsaas works
SSAU lecture bot is a set of four Go services sharing SQLite: Telegram onboarding and lecture tools, schedule refresh, a password-protected Mini App, and BBB guest joining/recording. BBB recordings can be processed into lecture materials and published. The map preserves documented Telegram features and the recording pipeline; some module internals were not excerpted, so uncertain links are omitted.
Main entry points: store.go Shared SQLite · worker_lecture.go Lecture processing · worker.go Join and recording · refresh.go Schedule refresh
Components 26
User interfaces
- Bot service
cmd/tg/main.go - Bot interactions
internal/tg/handlers.go - Bot features
internal/tg - Mini App service
cmd/panel/main.go - Web server
internal/webapp/server.go - JSON API
internal/webapp/api.go - Mini App UI
internal/webapp/static/app.js
Schedule service
- Schedule service
cmd/rasp/main.go - Schedule refresh
internal/rasp/refresh.go - Schedule fetch
internal/rasp/fetch.go - Schedule parsing
internal/rasp/parse.go
BBB operations
- BBB service
cmd/bbb/main.go - Join and recording
internal/bbb/worker.go - Chromium joiner
internal/bbb/chrome.go - Test joining
internal/bbb/worker_testjoin.go
Lecture materials
- Audio capture
internal/capture/merge.go - Lecture processing
internal/bbb/worker_lecture.go - Notes generation
internal/notes/run.go - Lecture archive
internal/archive/path.go - GitHub publishing
internal/publish/github.go
Shared data and runtime
- Shared SQLite
internal/store/store.go - Service runtime
internal/app/run.go - Domain model
internal/model/model.go
Other components
- Student
- Administrator
- Telegram
Connections 30
- Student → Telegram: uses
README.md - Telegram → Bot service: sends updates
README.md - Bot service → Bot interactions: starts bot
cmd/tg/main.go - Bot interactions → Shared SQLite: reads and writes
internal/tg/handlers.go - Bot interactions → Bot features: serves features
- Administrator → Mini App service: opens Mini App
README.md - Mini App service → Web server: starts server
cmd/panel/main.go - Web server → JSON API: routes requests
internal/webapp/server.go - Web server → Mini App UI: serves interface
- Web server → Shared SQLite: accesses data
README.md - Mini App service → Schedule refresh: requests refresh
cmd/panel/main.go - Schedule service → Schedule refresh: runs refresh
cmd/rasp/main.go - Schedule refresh → Schedule fetch: fetches schedule
internal/rasp/refresh.go - Schedule refresh → Schedule parsing: parses response
internal/rasp/refresh.go - Schedule refresh → Shared SQLite: saves schedule
internal/rasp/refresh.go - BBB service → Join and recording: runs worker
cmd/bbb/main.go - Join and recording → Shared SQLite: reads and writes
internal/bbb/worker.go - Join and recording → Chromium joiner: joins rooms
internal/bbb/worker.go - Join and recording → Lecture processing: starts processing
internal/bbb/worker_lecture.go - Join and recording → Test joining: handles test joins
internal/bbb/worker_testjoin.go - Lecture processing → Audio capture: records audio
internal/bbb/worker_lecture.go - Lecture processing → Lecture archive: organizes packs
internal/bbb/worker_lecture.go - Lecture processing → Notes generation: builds notes
internal/bbb/worker_lecture.go - Lecture processing → GitHub publishing: publishes materials
internal/bbb/worker_lecture.go - Lecture processing → Shared SQLite: tracks pack state
internal/bbb/worker_lecture.go - Bot service → Shared SQLite: shares data
README.md - Schedule service → Shared SQLite: shares data
README.md - BBB service → Shared SQLite: shares data
README.md - Service runtime → Shared SQLite: opens store
internal/app/run.go - Shared SQLite → Domain model: stores domain records
internal/store/store.go