How yujiankoh/modulo works
modulo is a cross-platform academic companion: students organize coursework, turn timetable images into editable schedules, track study sessions, and build a reward city. The web entry point explicitly coordinates sign-in and local/Drive storage selection; the README documents parallel mobile capabilities. The tree and excerpts support the major feature areas, but most Android and web feature wiring is unsampled, so those internal links are omitted. The timetable proxy’s Gemini integration is explicit in its source.
Main entry points: main.js Web entry · notesView.js Notes and documents · index.js Timetable proxy · MainActivity.kt Android app
Components 23
App entry
- Web entry
web/main.js - Web routing
web/router.js - Android app
app/app/src/main/java/com/example/modulo/MainActivity.kt
Academic planning
- Timetable workflow
web/timetable.js - Timetable editing
web/timetableEditor.js - Schedule view
web/timetableView.js - Timetable proxy
server/index.js - Task tracking
web/task.js - Calendar view
web/calendarView.js - GPA calculation
web/logic/gpa.js - Handbooks
web/logic/handbooks.js - Notes and documents
web/notesView.js - Notes rules
web/logic/notes.js
Study productivity
- Study sessions
web/studyTimer.js - City growth
web/logic/growth.js - City display
web/cityView.js
Data and sync
- Google authentication
web/auth.js - App data and mode
web/data.js - Drive sync
web/drive.js - Sync conflict rules
web/logic/migration.js
External services
- Google Drive
- Gemini Vision API
Other components
- Student
Connections 30
- Student → Web entry: uses web app
- Student → Android app: uses mobile app
- Web entry → Google authentication: requests sign-in
- Web entry → App data and mode: selects storage mode
- Web entry → Drive sync: loads or copies data
- Web entry → Sync conflict rules: checks conflicts
- Web entry → Web routing: starts app
- Student → Timetable workflow: uploads timetable
- Timetable workflow → Timetable proxy: submits image
- Timetable proxy → Gemini Vision API: requests parsing
- Timetable workflow → Timetable editing: opens corrections
- Student → Timetable editing: corrects schedule
- Student → Task tracking: manages tasks
- Student → Calendar view: views productivity
- Student → Study sessions: starts session
- Study sessions → City growth: derives growth
- City growth → City display: provides city state
- Student → Notes and documents: manages notes
- Notes and documents → Notes rules: validates and filters
- Notes and documents → Google authentication: ensures token
- Notes and documents → Drive sync: reads and writes files
- Student → GPA calculation: calculates GPA
- Student → Handbooks: manages semesters
- Google authentication → Google Drive: authorizes access
- Drive sync → Google Drive: syncs app data
- Notes and documents → Google Drive: manages note files
- Android app → Google Drive: syncs data
- Android app → Timetable proxy: requests timetable parsing
- Timetable proxy → Student: returns parsed schedule
- Timetable editing → Schedule view: shows corrected schedule