How mohamed-yaseen13/gpa-calculator works
GPA-Calculator is a cross-platform student planner centered on tracking semesters, courses, credits, and grades to calculate GPA and CGPA. The app also provides grade-scale configuration, mark conversion, what-if scenarios, notes, a calculator, and calendar/timetable planning. The tree and README establish these product areas, but the sampled source does not show Dart runtime calls or persistence wiring; the graph therefore maps documented responsibilities without asserting uncertain internal links.
Main entry points: main.dart App entry · main_screen.dart Academic overview · semester_screen.dart Semester management · course_screen.dart Course management
Components 16
Academic tracking
- Academic overview
lib/feature/tabs/main_tab/ui/main_screen.dart - Semester management
lib/feature/semester/ui/semester_screen.dart - Course management
lib/feature/course/ui/course_screen.dart - GPA calculations
lib/core/logic/gpa_calculations_cubit.dart - What-if scenarios
lib/feature/scenarios/ui/scenarios_screen.dart
Calculation tools
- Grade scales
lib/feature/scales/ui/scales_screen.dart - Mark converter
lib/feature/tabs/mark_conventer_tab/ui/mark_converter_screen.dart - Mini calculator
lib/feature/tabs/calculator_tab/ui/calculator_screen.dart
Planning features
- Notes
lib/feature/tabs/notes_tab/ui/notes_screen.dart - Timetable
lib/feature/timetable/ui/time_table_screen.dart - Calendar
lib/feature/calendar/ui/calendar_screen.dart - Home widget
android/app/src/main/kotlin/com/engmo/gpacalculator/CalendarWidgetProvider.kt
Application shell
- App entry
lib/main.dart - App root
lib/gpa_app.dart - Navigation
lib/core/routing/app_router.dart
Other components
- Student
Connections 13
- Student → App entry: opens
- App entry → App root: starts
- Student → Academic overview: manages records
- Student → Semester management: manages semesters
- Student → Course management: manages courses
- Student → Grade scales: configures grades
- Student → Mark converter: converts marks
- Student → Mini calculator: calculates
- Student → What-if scenarios: plans outcomes
- Student → Notes: records notes
- Student → Timetable: plans schedule
- Student → Calendar: views events
- Student → Home widget: checks schedule