{"id":24783199,"url":"https://github.com/thatlinuxguyyouknow/gpa-buddy","last_synced_at":"2026-04-29T11:02:06.706Z","repository":{"id":265120252,"uuid":"895196082","full_name":"ThatLinuxGuyYouKnow/GPA-Buddy","owner":"ThatLinuxGuyYouKnow","description":"A GPA Calculator application, built with flutter","archived":false,"fork":false,"pushed_at":"2024-12-02T12:19:45.000Z","size":1006,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T06:34:36.705Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ThatLinuxGuyYouKnow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-27T18:27:00.000Z","updated_at":"2024-12-02T12:19:49.000Z","dependencies_parsed_at":"2025-03-24T06:38:37.911Z","dependency_job_id":null,"html_url":"https://github.com/ThatLinuxGuyYouKnow/GPA-Buddy","commit_stats":null,"previous_names":["thatlinuxguyyouknow/gpa-calculator","thatlinuxguyyouknow/gpa-buddy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ThatLinuxGuyYouKnow/GPA-Buddy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatLinuxGuyYouKnow%2FGPA-Buddy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatLinuxGuyYouKnow%2FGPA-Buddy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatLinuxGuyYouKnow%2FGPA-Buddy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatLinuxGuyYouKnow%2FGPA-Buddy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThatLinuxGuyYouKnow","download_url":"https://codeload.github.com/ThatLinuxGuyYouKnow/GPA-Buddy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatLinuxGuyYouKnow%2FGPA-Buddy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32422532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T06:29:02.080Z","status":"ssl_error","status_checked_at":"2026-04-29T06:29:00.631Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-29T12:15:57.663Z","updated_at":"2026-04-29T11:02:06.692Z","avatar_url":"https://github.com/ThatLinuxGuyYouKnow.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GPA Buddy\n\nGPA Buddy is a Flutter-based app designed to simplify GPA calculation by providing an intuitive interface for inputting course details (name, units, and grades) and dynamically calculating results.\n\n This application uses the Provider package for state management\n\n## Core Functionality\n\n### Add Courses\n- Dynamically add new course sections, each with fields for:\n- Course Name: Text input for course identification.\n- Units: Numeric input for course credit hours.\n- Grade: Dropdown selection for grades (A, B, C, D, E, F).\n\n### Real-Time Updates\n        \nChanges to grades or units instantly update the app's state using Provider.\n\n\n### Validation\n\nEnsures valid input for course units and grades, preventing errors during GPA calculation.\n\n\n## Technical Overview\n\n### Key Components\n\nCourseSubsection Widget\n    Represents a single course section with three main inputs:\n        Course Name: Free-text input.\n        Units: Numeric input with validation (only positive integers allowed).\n        Grade: Dropdown with predefined grade options.\n\nCourseSelectionList Model\n    Manages the state for:\n        A list of courses.\n        Corresponding course units and grades.\n        Addition and update operations for courses.\n\n## Installation and Setup\n\n### Prerequisites\n\n- Install Flutter: Flutter installation guide\n   \n\n### Steps\n\nClone the repository:\n\n ```\n git clone https://github.com/ThatLinuxGuyYouKnow/GPA-Buddy.git\n ```\nand then,\n\n ```\n cd GPA-Buddy\n ```\n### Install dependencies:\n\n ```\n flutter pub get\n ```\n### Run the app:\n\n ```\nflutter run\n ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthatlinuxguyyouknow%2Fgpa-buddy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthatlinuxguyyouknow%2Fgpa-buddy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthatlinuxguyyouknow%2Fgpa-buddy/lists"}