How shreyarajaram/chompcourse works
ChompCourse is a mobile course-planning app: users sign in, choose a major, mark completed courses, provide graduation and term preferences, and request a proposed schedule for results. The client’s major-selection screen calls a generation endpoint, while schedule generation is delegated to AIwrapper.js. Backend implementation details and the results-screen behavior were not sampled, so those components are shown only where the tree and sampled client code support them.
Main entry points: App.js App navigation · MajorSelectionScreen.js Major selection · LoginScreen.js Login · SignupScreen.js Sign up
Components 16
Mobile app
- App navigation
App.js - Welcome screen
cover/CoverScreen.js
Account access
- Login
login-signup/LoginScreen.js - Sign up
login-signup/SignupScreen.js - Auth helpers
firebase/auth.js - Firebase setup
firebase/firebase.js
Course planning
- Major selection
cover/screens/MajorSelectionScreen.js - Course selection
cover/screens/courseSelection.js - Course catalog
assets/courses_by_semester.json - Schedule preferences
cover/screens/ScheduleSummaryScreen.js - Schedule request
AIwrapper.js - Schedule results
cover/screens/ResultsScreen.js
External services
- Firebase Auth
- Recommendation endpoint
- Schedule generation service
Other components
- Student
Connections 24
- Student → App navigation: opens
- App navigation → Welcome screen: starts at
- App navigation → Login: routes to
- App navigation → Sign up: routes to
- App navigation → Major selection: routes to
- App navigation → Course selection: routes to
- App navigation → Schedule preferences: routes to
- App navigation → Schedule results: routes to
- Welcome screen → Login: opens
- Welcome screen → Sign up: opens
- Login → Auth helpers: signs in
- Sign up → Auth helpers: creates account
- Auth helpers → Firebase setup: uses auth
- Firebase setup → Firebase Auth: initializes
- Auth helpers → Firebase Auth: authenticates
- Login → Major selection: continues to
- Sign up → Major selection: continues to
- Major selection → Recommendation endpoint: posts major
- Major selection → Course selection: passes response
- Course selection → Course catalog: reads catalog
- Course selection → Schedule preferences: passes selections
- Schedule preferences → Schedule request: requests schedule
- Schedule request → Schedule generation service: generates schedule
- Schedule preferences → Schedule results: passes schedule