Handle school matters with ease, know your exams and assignments in a second!
- 📍 Overview
- 👾 Features
- 📁 Project Structure
- 🚀 Getting Started
- 📌 Project Roadmap
- 🔰 Contributing
- 🎗 License
- 🙌 Acknowledgments
This 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.
Say goodbye to the old days of manually copying class schedules—introducing Shared Contact Book, a collaborative app designed to help students manage schoolwork efficiently.
Key Features:
- Timetable & List View: Organize tasks easily with categorized buttons and lists.
- Submission Tracker: Perfect for class leaders to track submissions, with real-time updates visible to classmates.
- Push Notifications: Stay reminded of important tasks in your preferred way.
- School Announcements: Quickly browse the latest updates from the school website via RSS.
- Shared Files (Coming Soon): Conveniently upload and access shared school documents in one place.
Enhance collaboration with classmates and embrace smart, efficient learning!
└── class_todo/
├── .github
│ └── workflows
├── LICENSE
├── README.md
├── analysis_options.yaml
├── assets
│ ├── img
│ └── logo.png
├── ios/
├── android/
├── web/
├── firebase.json
lib/
│ ├─ adaptive_action.dart
│ ├─ firebase_options.dart
│ ├─ logic/
│ │ ├─ auth_notifier.dart
│ │ ├─ calendar_task_notifier.dart
│ │ ├─ class_table_notifier.dart
│ │ ├─ connectivety_notifier.dart
│ │ ├─ date_notifier.dart
│ │ ├─ deep_link_notifier.dart
│ │ ├─ exam_activate_notifier.dart
│ │ ├─ examlist_notifier.dart
│ │ ├─ form_notifier.dart
│ │ ├─ google_api_notifier.dart
│ │ ├─ mixpanel_notifier.dart
│ │ ├─ notification_notifier.dart
│ │ ├─ nowtime_notifier.dart
│ │ ├─ remote_config_notifier.dart
│ │ ├─ rss_read_notifier.dart
│ │ ├─ rss_url_notifier.dart
│ │ ├─ school_notifier.dart
│ │ ├─ self_number_notifier.dart
│ │ ├─ submit_notifier.dart
│ │ ├─ task_notifier.dart
│ │ ├─ todo_notifier.dart
│ │ ├─ users_notifier.dart
│ │ └─ users_number_notifier.dart
│ ├─ main.dart
│ ├─ open_url.dart
│ ├─ page/
│ │ ├─ class_page.dart
│ │ ├─ draw_lots.dart
│ │ ├─ home_page.dart
│ │ ├─ intro_page.dart
│ │ ├─ loading_page.dart
│ │ ├─ login_page.dart
│ │ ├─ more_view.dart
│ │ ├─ photo_preview_page.dart
│ │ ├─ school_view.dart
│ │ ├─ score_view.dart
│ │ ├─ setting_page.dart
│ │ ├─ submit_view.dart
│ │ ├─ task_view.dart
│ │ └─ users_page.dart
│ ├─ provider.dart
│ └─ theme.dart
├── pubspec.lock
└── pubspec.yamlBefore getting started with class_todo, ensure your runtime environment meets the following requirements:
- Programming Language: Dart
- Package Manager: Pub
Install class_todo using one of the following methods:
Build from source:
- Clone the class_todo repository:
❯ git clone https://github.com/ycy-0510/class_todo- Navigate to the project directory:
❯ cd class_todo- Install the project dependencies:
❯ pub getRun class_todo using the following command:
❯ flutter run-
Task 1: Release for Android and iOS -
Task 2: Add notification -
Task 3: Implement Score Collection feature -
Task 4: Implement Personalized Timetable feature
- 🐛 Report Issues: Submit bugs found or log feature requests for the
class_todoproject. - 💡 Submit Pull Requests: Review open PRs, and submit your own PRs.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/ycy-0510/class_todo
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.' - Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
This project is protected under the Apache License, Version 2.0 License. For more details, refer to the LICENSE file.