Setup
Prerequisites
| Tool | Version |
|---|---|
| Flutter SDK | 3.8.1+ |
| Dart | 3.0+ |
| Android Studio / Xcode | Latest |
| pnpm | 8+ |
Clone & Install
cd /Users/dhilshad/Metaonus/syncad-teachers
flutter pub get
Key Dependencies
| Package | Version | Purpose |
|---|---|---|
provider | ^6.1.5 | State management |
dio | ^5.8.0+1 | HTTP client |
get_it | ^8.0.3 | Dependency injection |
firebase_core | ^4.2.1 | Firebase |
firebase_messaging | ^15.2.4 | Push notifications |
local_auth | ^2.3.0 | Biometrics |
shared_preferences | ^2.5.3 | Token storage |
syncfusion_flutter_pdfviewer | ^24.2.0 | PDF viewing |
sticky_grouped_list | ^5.0.0 | Attendance lists |
Build
# Android
flutter build apk --debug
# iOS
flutter build ios --debug
API Base URL
The app connects to https://dev-api.metaonus.in/teacher/* in development. The base URL is configured in lib/core/constants/api_urls.dart.
Directory Structure
syncad-teachers/lib/
├── main.dart
├── service_locator.dart
├── core/
│ ├── constants/
│ │ └── api_urls.dart
│ ├── network/
│ │ └── dio_client.dart
│ └── base/
│ └── base_provider.dart
├── modules/
│ ├── home/
│ ├── attendance/
│ ├── exam/
│ ├── result/
│ ├── assignment/
│ ├── leave/
│ ├── event/
│ ├── announcement/
│ ├── subject/
│ ├── timetable/
│ ├── student/
│ ├── competition/
│ ├── message/
│ └── notification/
└── models/