How skycoax/schedule works
Para is a multi-university schedule and campus community application, served as a branded web app and Android Trusted Web Activity. Students choose a university or arrive at its dedicated address, select a group, and view current or weekly schedules; teachers can browse teacher schedules. The server polls university sources and serves schedule, analytics, and review APIs. A separate social domain supports sign-in, profiles, posts, and moderation. The README is empty; arrows reflect the supplied excerpts and explicit comments, while unsampled modules are represented only where their roles are clear from paths or documentation.
Main entry points: src/index.js HTTP server · App.tsx Web application · poller.js Schedule poller · social/index.js Social routes
Components 25
Web experience
- Web application
web/src/App.tsx - App shell
web/src/shell/AppShell.tsx - Web API client
web/src/api.ts - University selection
web/src/components/UniversityStart.tsx - Android wrapper
android/app/src/main/java/uz/skycoax/para/LauncherActivity.java
Schedules and data
- Schedule responses
server/src/schedule.js - Teacher schedules
server/src/teachers.js - Schedule poller
server/src/poller.js - University source
server/src/source.js - EduPage source
server/src/source-edupage.js - Schedule storage
server/src/store.js - Usage analytics
server/src/analytics.js - Reviews
server/src/reviews.js
Community
- Social interface
web/src/social/chat/ChatTab.tsx - Social API client
web/src/social/api.ts - Social routes
server/src/social/index.js - Authentication
server/src/social/auth.js - Posts and users
server/src/social/posts.js - Social database
server/src/social/db.js
Tenant hosting
- HTTP server
server/src/index.js - Tenant configuration
server/src/tenants.js - Para hub
server/src/hub.js - Branded site
server/src/site.js
Other components
- Student or teacher
- Google OAuth
Connections 28
- Student or teacher → Web application: uses
- Android wrapper → Web application: hosts
- Web application → App shell: renders
- Web application → Web API client: requests data
- Web application → University selection: selects university
- Web API client → HTTP server: calls API
- HTTP server → Tenant configuration: loads tenants
- HTTP server → Para hub: loads hub
- HTTP server → Branded site: serves pages
- HTTP server → Schedule responses: routes schedule
- HTTP server → Teacher schedules: routes teachers
- HTTP server → Usage analytics: records and summarizes
- HTTP server → Reviews: lists reviews
- HTTP server → Schedule poller: starts polling
- Schedule responses → Schedule storage: reads snapshot
- Teacher schedules → Schedule storage: reads snapshot
- Schedule poller → University source: fetches schedules
- University source → EduPage source: uses source
- Schedule poller → Schedule storage: updates snapshot
- Student or teacher → Social interface: uses
- Social interface → Social API client: requests data
- Social API client → HTTP server: calls API
- HTTP server → Social routes: registers routes
- Social routes → Authentication: handles sign-in
- Social routes → Posts and users: handles posts
- Authentication → Social database: reads and writes
- Posts and users → Social database: reads and writes
- Authentication → Google OAuth: exchanges OAuth