How uplbtools/room-tba works
Room TBA is a map-first campus platform for finding UPLB places, rooms, classes, schedules, and routes, with offline access and in-app community editing. The main user flow is search or browse, inspect a map/entity result, then view schedule or directions; planners and campus information add distinct branches. The graph also shows proposal review, administration, and local caching. Relationships are grounded in README statements and the supplied excerpts/index; unsampled implementation details are not inferred.
Main entry points: AppRoot.svelte App interface · proposal-service.ts Proposal service · Map.svelte Campus map · admin-service.ts Admin service
Components 24
Map & Discovery
- App interface
src/components/svelte/AppRoot.svelte - Campus map
src/components/svelte/Map.svelte - Search
src/components/svelte/search/Search.svelte - Campus browse
src/lib/browse-campus.ts - Offline cache
src/lib/local/data/sync.ts
Campus Information
- Class search
src/components/svelte/controls/ClassQuery.svelte - Room schedules
src/lib/schedule-renderer.ts - Final exams
src/lib/final-exams.ts - Academic calendar
src/lib/academic-calendar.ts - Campus events
src/lib/services/event-service.ts
Travel & Planning
- Jeepney routes
src/constants/jeepney-routes.ts - Route finding
src/lib/travel-graph/engine.ts - Course planner
src/components/svelte/planner/PlannerScreen.svelte - Today agenda
src/components/svelte/today/TodayScreen.svelte
Community Editing
- Proposal review
src/components/svelte/ProposalReviewPanel.svelte - Proposal client
src/lib/proposals/client.ts - Proposal service
src/lib/services/proposal-service.ts - Admin service
src/lib/services/admin-service.ts - Contributions
src/lib/services/contribution-service.ts
Platform Services
- Application database
drizzle/schema.ts - Account security
src/lib/services/account-security.ts - Offline settings
src/components/svelte/modal/DataStorage.svelte - Cache management
src/lib/local/clear-cached-data.ts
Other components
- Student
Connections 25
- Student → App interface: uses
- App interface → Search: searches
- App interface → Campus map: views
- App interface → Campus browse: browses
- Search → Class search: finds courses
- Class search → Final exams: loads exams
src/components/svelte/controls/ClassQuery.svelte - Campus map → Room schedules: shows schedules
- Campus map → Campus events: shows events
- Campus map → Jeepney routes: shows routes
- Campus map → Route finding: plans routes
- Course planner → Today agenda: supplies plan
- Course planner → Route finding: routes stops
- App interface → Academic calendar: opens calendar
- App interface → Offline cache: uses cached data
- Offline settings → Cache management: clears cache
src/components/svelte/modal/DataStorage.svelte - Student → Proposal review: suggests edits
- Proposal review → Proposal client: reviews proposals
src/components/svelte/ProposalReviewPanel.svelte - Proposal client → Proposal service: calls proposal API
- Proposal service → Admin service: creates rooms
src/lib/services/proposal-service.ts - Proposal service → Contributions: records contribution
src/lib/services/proposal-service.ts - Admin service → Campus events: reads events
src/lib/services/admin-service.ts - Proposal service → Account security: checks schema errors
src/lib/services/proposal-service.ts - Proposal service → Application database: reads and writes
src/lib/services/proposal-service.ts - Admin service → Application database: reads and writes
src/lib/services/admin-service.ts - Proposal service → Student: sends review notice