kanzo
Self-hosted, sharable kanban for humans and agents. One 4.5 MB binary, 4.5 MB of RAM, 10 to 60 tokens per agent reply, starts in 2 ms, zero setup.
翻译准备中
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗EduTools is an institutional-grade academic scheduling, timetable management, and automated reminder suite built with Flutter & Dart alongside a companion All-in-One Web Application and a Node.js University Auth Backend.
Designed specifically for students, faculty, and administrative departments (with dedicated support for United International University - UIU (uiu.ac.bd) and institutional .edu domains), EduTools integrates recurring weekly class timetables with official university calendars, auto-suspends classes during exam periods and semester breaks, resolves holiday conflicts, and delivers proactive notifications.
EduTools has grown from a local calendar viewer into an end-to-end multi-platform academic companion:
┌─────────────────────────────────────────┐
│ EduTools Ecosystem │
└────────────────────┬────────────────────┘
│
┌─────────────────────────────────┼─────────────────────────────────┐
│ │ │
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ Flutter App │ │ All-in-One Web │ │ University Auth │
│ (Android/iOS/PC) │◄───Sync────►│ (GitHub Pages) │◄───Auth────►│ Node.js Backend │
│ Material 3 UI │ │ index.html │ │ Port: 3097 │
└──────────────────┘ └──────────────────┘ └──────────────────┘
.ics, JSON, CSV, or presets), EduTools dynamically inspects the official university academic calendar.RoutineDateConfigDialog / #routineDateModal) allowing the user to either:
@*.uiu.ac.bd / @uiu.ac.bd students and faculty (as well as general educational .edu and .ac.bd domains).http://localhost:3097 (no proprietary cloud or Firebase locks)..ics files that exclude cancelled classes falling on holidays.index.html)index.html (HTML + embedded CSS + embedded JS) ready for zero-configuration hosting on GitHub Pages (docs/index.html & root index.html).educal/
├── backend/
│ ├── server.js # Node.js Auth & Sync Backend (Port 3097)
│ └── package.json # Backend dependencies (Express, CORS)
├── docs/
│ └── index.html # All-in-One GitHub Pages deployment bundle
├── index.html # Root Web Companion (Single-file HTML/CSS/JS)
├── sample_data/
│ ├── class_schedule_sample.json # Sample recurring class timetable (JSON)
│ ├── class_schedule_sample.csv # Sample recurring class timetable (CSV)
│ ├── academic_calendar_sample.json # Sample university notices & holidays (JSON)
│ └── academic_calendar_sample.csv # Sample university notices & holidays (CSV)
├── lib/
│ ├── main.dart # Flutter app entrypoint & provider setup
│ ├── models/
│ │ ├── class_schedule.dart # Recurring class schedule model
│ │ ├── academic_notice.dart # Notice & holiday definition model
│ │ ├── calendar_day_schedule.dart # Merged daily schedule model & routine suppression
│ │ ├── routine_date_range.dart # Auto-figured & custom routine window model
│ │ ├── reminder_notification.dart # Notification reminder model
│ │ ├── student_profile.dart # Authenticated student profile model
│ │ └── sync_status_report.dart # Calendar sync telemetry model
│ ├── services/
│ │ ├── api_service.dart # HTTP client for auth & calendar sync API
│ │ ├── calendar_service.dart # Core schedule, routine lifecycle & holiday engine
│ │ ├── file_parser_service.dart # Multi-format ingestion (JSON, CSV, ICS)
│ │ ├── reminder_service.dart # Notification scheduler & holiday muter
│ │ └── sample_data_service.dart # Preloaded university timetable templates
│ ├── state/
│ │ └── calendar_state.dart # Central state manager (ChangeNotifier)
│ ├── theme/
│ │ └── app_theme.dart # Material 3 design system (Light & Dark)
│ ├── widgets/
│ │ └── educal_logo.dart # Scalable brand vector logo
│ └── screens/
│ ├── main_screen.dart # Persistent navigation shell & destination tab bar
│ ├── auth/ # University OTP authentication screens
│ ├── dashboard/ # Tab 1: Swipeable calendar & adaptive stats
│ ├── notices/ # Tab 2: Notice search engine & urgency cards
│ ├── setup/ # Tab 3: Routine ingestion & routine window dialog
│ │ └── routine_date_config_dialog.dart # Auto-figured vs manual date picker dialog
│ ├── sync/ # Cross-platform cloud sync modal
│ └── reminders/ # Notification center & settings dialogs
└── test/
├── backend_api_test.dart # Full-stack backend API & OTP integration tests
├── calendar_service_test.dart # Holiday suppression logic unit tests
├── calendar_swipe_test.dart # Touch drag gesture & month navigation tests
├── file_parser_service_test.dart # Multi-format CSV/JSON/ICS parser tests
├── navigation_tab_persistence_test.dart # Tab state preservation during notice search tests
├── responsive_layout_audit_test.dart # Window resizing & 1.5x font scale audit tests
├── routine_lifecycle_autofigure_test.dart # Routine window auto-figuring & dialog tests
└── widget_test.dart # Core app shell rendering tests
EduTools is covered by a comprehensive automated test suite ensuring cross-platform stability:
flutter analyze passes with 0 errors, 0 warnings, 0 lints.backend_api_test.dart: University email auth verification, single-use OTP validation, sync status endpoints.calendar_service_test.dart: Holiday conflict detection, automatic class cancellation, and reminder muting.calendar_swipe_test.dart: Month cycling via horizontal drags and date cell selection.file_parser_service_test.dart: Ingestion of JSON, CSV, and ICS files; holiday exclusion in exports.navigation_tab_persistence_test.dart: Notice search state preservation without tab bouncing.responsive_layout_audit_test.dart: Zero RenderFlex overflows on small screens (320x568) and 1.5x font accessibility scale.routine_lifecycle_autofigure_test.dart: Auto-figuring routine dates post-suspension, dialog interaction, and semester break holiday verification.widget_test.dart: Main application bootstrap and navigation bar rendering.cd backend
npm install
npm start
Backend runs on http://localhost:3097 with simulated OTP console output.
# Navigate to project root
flutter pub get
# Run static analysis
flutter analyze
# Execute all tests
flutter test
# Run on your target device (Chrome, Windows desktop, Android emulator, or iOS simulator)
flutter run -d chrome
# or
flutter run -d windows
Simply open index.html or docs/index.html in any modern web browser or serve with:
npx serve docs
Created for academic and university scheduling enhancement. Distributed under the MIT License.