How raoof128/syllabus-sync works
Syllabus Sync is a Macquarie University student platform for organizing academic work, finding campus destinations, and supporting engagement. Students authenticate, then use the dashboard and calendar to manage units, deadlines, events, and todos; map tools support campus search and routing, while gamification and notifications reinforce activity. The app’s API routes mediate access to Supabase and external services. README capabilities inform the high-level branches; sampled source confirms selected route, storage, profile, session, and navigation behavior, but not every feature’s wiring.
Main entry points: units/route.ts Academic APIs · MapClient.tsx Campus map · navigate/route.ts Route planning · auth Auth APIs
Components 21
Academic planning
- Dashboard
app/home/page.tsx - Academic calendar
features/calendar - Academic APIs
app/api/units/route.ts - Academic stores
lib/store - Profile management
app/manage-profiles - Events feed
features/feed
Campus services
- Campus map
features/map/components/MapClient.tsx - Route planning
app/api/navigate/route.ts - Maps APIs
app/api/maps
Engagement
- XP and streaks
features/gamification - Gamification API
app/api/gamification/route.ts - Notifications
lib/services/notificationService.ts - Notification APIs
app/api/notifications/route.ts
Platform services
- Sign-in and MFA
app/login/page.tsx - Auth APIs
app/api/auth - Supabase Auth
lib/supabase/server.ts - Supabase database
- Security controls
lib/security - Settings and preferences
features/settings
Other components
- Student
- Google Maps
Connections 27
- Student → Sign-in and MFA: signs in
- Sign-in and MFA → Auth APIs: requests auth
- Auth APIs → Supabase Auth: exchanges credentials
- Supabase Auth → Supabase database: reads auth state
- Student → Dashboard: views
- Dashboard → Academic calendar: opens planning
- Academic calendar → Academic APIs: loads academic data
- Academic APIs → Supabase database: reads and writes
- Academic APIs → Academic stores: returns data
- Student → Profile management: manages profile
- Profile management → Supabase database: persists changes
- Student → Events feed: browses events
- Student → Campus map: searches campus
- Campus map → Maps APIs: searches places
- Campus map → Route planning: requests routes
- Route planning → Google Maps: requests routing
- Student → XP and streaks: checks progress
- XP and streaks → Gamification API: fetches progress
- Gamification API → Supabase database: reads and updates
- Student → Notifications: receives alerts
- Notifications → Notification APIs: loads notifications
- Notification APIs → Supabase database: reads and updates
- Auth APIs → Security controls: applies controls
- Academic APIs → Security controls: applies controls
- Route planning → Security controls: checks access and limits
- Student → Settings and preferences: changes settings
- Settings and preferences → Supabase database: persists preferences