{"id":26797497,"url":"https://github.com/ycy-0510/class_todo","last_synced_at":"2025-10-06T13:54:24.326Z","repository":{"id":195995163,"uuid":"694100476","full_name":"ycy-0510/class_todo","owner":"ycy-0510","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-11T04:20:34.000Z","size":11828,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-11T05:20:34.514Z","etag":null,"topics":["education","firebase","flutter-apps","opensource","todolist"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ycy-0510.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2023-09-20T10:31:23.000Z","updated_at":"2025-04-16T07:13:44.000Z","dependencies_parsed_at":"2023-09-30T16:31:58.076Z","dependency_job_id":"e0fd28db-0b16-4e4e-93dd-6a052ef073e9","html_url":"https://github.com/ycy-0510/class_todo","commit_stats":{"total_commits":55,"total_committers":2,"mean_commits":27.5,"dds":0.07272727272727275,"last_synced_commit":"b279f229d7791b527df8b6c5ad40b9613dc4d191"},"previous_names":["ycy-0510/class_todo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ycy-0510/class_todo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ycy-0510%2Fclass_todo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ycy-0510%2Fclass_todo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ycy-0510%2Fclass_todo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ycy-0510%2Fclass_todo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ycy-0510","download_url":"https://codeload.github.com/ycy-0510/class_todo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ycy-0510%2Fclass_todo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621837,"owners_count":26017253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["education","firebase","flutter-apps","opensource","todolist"],"created_at":"2025-03-29T19:15:01.437Z","updated_at":"2025-10-06T13:54:24.270Z","avatar_url":"https://github.com/ycy-0510.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/ycy-0510/class_todo/refs/heads/dev/assets/img/icon.png\" align=\"center\" width=\"30%\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003ch1 align=\"center\"\u003eCLASS TODO\u003c/h1\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\t\u003cem\u003eHandle school matters with ease, know your exams and assignments in a second!\u003c/em\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://img.shields.io/github/license/ycy-0510/class_todo?style=default\u0026logo=opensourceinitiative\u0026logoColor=white\u0026color=0080ff\" alt=\"license\"\u003e\n\t\u003cimg src=\"https://img.shields.io/github/last-commit/ycy-0510/class_todo?style=default\u0026logo=git\u0026logoColor=white\u0026color=0080ff\" alt=\"last-commit\"\u003e\n\t\u003cimg src=\"https://img.shields.io/github/languages/top/ycy-0510/class_todo?style=default\u0026color=0080ff\" alt=\"repo-top-language\"\u003e\n\t\u003cimg src=\"https://img.shields.io/github/languages/count/ycy-0510/class_todo?style=default\u0026color=0080ff\" alt=\"repo-language-count\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003c!-- default option, no dependency badges. --\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\t\u003c!-- default option, no dependency badges. --\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\n## 🔗 Table of Contents\n\n- [📍 Overview](#-overview)\n- [👾 Features](#-features)\n- [📁 Project Structure](#-project-structure)\n  - [📂 Project Index](#-project-index)\n- [🚀 Getting Started](#-getting-started)\n  - [☑️ Prerequisites](#-prerequisites)\n  - [⚙️ Installation](#-installation)\n  - [🤖 Usage](#🤖-usage)\n  - [🧪 Testing](#🧪-testing)\n- [📌 Project Roadmap](#-project-roadmap)\n- [🔰 Contributing](#-contributing)\n- [🎗 License](#-license)\n- [🙌 Acknowledgments](#-acknowledgments)\n\n---\n\n## 📍 Overview\n\nThis is an open-source app project designed to help students manage schoolwork efficiently. The app is built using Dart and Flutter, and it is designed to be user-friendly and easy to navigate. The app features a timetable and list view, submission tracker, push notifications, school announcements, and shared files. The app is perfect for students who want to stay organized and on top of their schoolwork. The app is currently in development, and new features are being added regularly. The app is free to use and open-source, so anyone can contribute to the project. If you are a student looking for a way to stay organized and on top of your schoolwork, this app is for you.\n\n## 👾 Features\n\nSay goodbye to the old days of manually copying class schedules—introducing Shared Contact Book, a collaborative app designed to help students manage schoolwork efficiently.\n\nKey Features:\n\n- Timetable \u0026 List View: Organize tasks easily with categorized buttons and lists.\n- Submission Tracker: Perfect for class leaders to track submissions, with real-time updates visible to classmates.\n- Push Notifications: Stay reminded of important tasks in your preferred way.\n- School Announcements: Quickly browse the latest updates from the school website via RSS.\n- Shared Files (Coming Soon): Conveniently upload and access shared school documents in one place.\n\nEnhance collaboration with classmates and embrace smart, efficient learning!\n\n---\n\n## 📁 Project Structure\n\n```sh\n└── class_todo/\n    ├── .github\n    │   └── workflows\n    ├── LICENSE\n    ├── README.md\n    ├── analysis_options.yaml\n    ├── assets\n    │   ├── img\n    │   └── logo.png\n    ├── ios/\n    ├── android/\n    ├── web/\n    ├── firebase.json\n    lib/\n    │   ├─ adaptive_action.dart\n    │   ├─ firebase_options.dart\n    │   ├─ logic/\n    │   │  ├─ auth_notifier.dart\n    │   │  ├─ calendar_task_notifier.dart\n    │   │  ├─ class_table_notifier.dart\n    │   │  ├─ connectivety_notifier.dart\n    │   │  ├─ date_notifier.dart\n    │   │  ├─ deep_link_notifier.dart\n    │   │  ├─ exam_activate_notifier.dart\n    │   │  ├─ examlist_notifier.dart\n    │   │  ├─ form_notifier.dart\n    │   │  ├─ google_api_notifier.dart\n    │   │  ├─ mixpanel_notifier.dart\n    │   │  ├─ notification_notifier.dart\n    │   │  ├─ nowtime_notifier.dart\n    │   │  ├─ remote_config_notifier.dart\n    │   │  ├─ rss_read_notifier.dart\n    │   │  ├─ rss_url_notifier.dart\n    │   │  ├─ school_notifier.dart\n    │   │  ├─ self_number_notifier.dart\n    │   │  ├─ submit_notifier.dart\n    │   │  ├─ task_notifier.dart\n    │   │  ├─ todo_notifier.dart\n    │   │  ├─ users_notifier.dart\n    │   │  └─ users_number_notifier.dart\n    │   ├─ main.dart\n    │   ├─ open_url.dart\n    │   ├─ page/\n    │   │  ├─ class_page.dart\n    │   │  ├─ draw_lots.dart\n    │   │  ├─ home_page.dart\n    │   │  ├─ intro_page.dart\n    │   │  ├─ loading_page.dart\n    │   │  ├─ login_page.dart\n    │   │  ├─ more_view.dart\n    │   │  ├─ photo_preview_page.dart\n    │   │  ├─ school_view.dart\n    │   │  ├─ score_view.dart\n    │   │  ├─ setting_page.dart\n    │   │  ├─ submit_view.dart\n    │   │  ├─ task_view.dart\n    │   │  └─ users_page.dart\n    │   ├─ provider.dart\n    │   └─ theme.dart\n    ├── pubspec.lock\n    └── pubspec.yaml\n```\n\n---\n\n## 🚀 Getting Started\n\n### ☑️ Prerequisites\n\nBefore getting started with class_todo, ensure your runtime environment meets the following requirements:\n\n- **Programming Language:** Dart\n- **Package Manager:** Pub\n\n### ⚙️ Installation\n\nInstall class_todo using one of the following methods:\n\n**Build from source:**\n\n1. Clone the class_todo repository:\n\n```sh\n❯ git clone https://github.com/ycy-0510/class_todo\n```\n\n2. Navigate to the project directory:\n\n```sh\n❯ cd class_todo\n```\n\n3. Install the project dependencies:\n\n```sh\n❯ pub get\n```\n\n### 🤖 Usage\n\nRun class_todo using the following command:\n\n```sh\n❯ flutter run\n```\n\n---\n\n## 📌 Project Roadmap\n\n- [X] **`Task 1`**: Release for Android and iOS\n- [X] **`Task 2`**: Add notification\n- [ ] **`Task 3`**: Implement Score Collection feature\n- [ ] **`Task 4`**: Implement Personalized Timetable feature\n\n---\n\n## 🔰 Contributing\n\n- **🐛 [Report Issues](https://github.com/ycy-0510/class_todo/issues)**: Submit bugs found or log feature requests for the `class_todo` project.\n- **💡 [Submit Pull Requests](https://github.com/ycy-0510/class_todo/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs.\n\n\u003cdetails closed\u003e\n\u003csummary\u003eContributing Guidelines\u003c/summary\u003e\n\n1. **Fork the Repository**: Start by forking the project repository to your github account.\n2. **Clone Locally**: Clone the forked repository to your local machine using a git client.\n   ```sh\n   git clone https://github.com/ycy-0510/class_todo\n   ```\n3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name.\n   ```sh\n   git checkout -b new-feature-x\n   ```\n4. **Make Your Changes**: Develop and test your changes locally.\n5. **Commit Your Changes**: Commit with a clear message describing your updates.\n   ```sh\n   git commit -m 'Implemented new feature x.'\n   ```\n6. **Push to github**: Push the changes to your forked repository.\n   ```sh\n   git push origin new-feature-x\n   ```\n7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations.\n8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!\n\n\u003c/details\u003e\n\n\u003cdetails closed\u003e\n\u003csummary\u003eContributor Graph\u003c/summary\u003e\n\u003cbr\u003e\n\u003cp align=\"left\"\u003e\n   \u003ca href=\"https://github.com{/ycy-0510/class_todo/}graphs/contributors\"\u003e\n      \u003cimg src=\"https://contrib.rocks/image?repo=ycy-0510/class_todo\"\u003e\n   \u003c/a\u003e\n\u003c/p\u003e\n\u003c/details\u003e\n\n---\n\n## 🎗 License\nThis project is protected under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) License. For more details, refer to the [LICENSE](https://github.com/ycy-0510/class_todo/?tab=Apache-2.0-1-ov-file) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fycy-0510%2Fclass_todo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fycy-0510%2Fclass_todo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fycy-0510%2Fclass_todo/lists"}