Academy Management is a cross-platform Flutter application for managing an educational academy. It includes screens and features for academies, teachers, and students such as appointments, attendance, quizzes, and materials management.
- Overview & purpose
- Technologies used
- Prerequisites
- Quick start (clone, install, run)
- Project structure (key folders and files)
- Development notes
- Testing
- Contributing
- License
This project is intended as a management app for academies. Main capabilities implemented in the codebase include:
- Academy dashboard and management (center/academy screens)
- Appointment creation and attendance tracking
- Quiz creation and student quiz uploads
- Student views for dashboard, attendances, materials selection, and quizzes
The UI is built with Flutter and is structured to support Android, iOS, web and desktop targets (where supported by Flutter).
- Flutter (Dart)
- Android (Gradle)
- iOS (Xcode project files included)
See pubspec.yaml for exact Flutter/Dart SDK constraints and package dependencies.
- Flutter SDK installed and on PATH (see https://docs.flutter.dev/get-started/install)
- Dart SDK (bundled with Flutter)
- For Android: Android SDK + Android Studio or command-line build tools
- For iOS: Xcode (macOS only)
On Windows PowerShell the examples below assume pwsh.exe (default in this workspace).
- Clone the repository:
git clone <repo-url> Academy-Management
cd 'Academy-Management'- Get Flutter packages:
flutter pub get- Run the app (example: debug on connected Android device or emulator):
flutter run -d emulator-5554 # replace device id with flutter devices output- Build release APK (Android):
flutter build apk --releaseFor web:
flutter build web
flutter run -d chromeTop-level:
-
lib/— main application source.main.dart— app entry point.Main_Manger.dart— (likely) app-level state/navigation manager.Center_Academy Screens/— academy admin screens (dashboard, uploads, appointments, attendance, quizzes).Teacher Screens/— teacher-facing screens.Client Screens/— student-facing screens (attendances, dashboard, quizzes, material selection).Widget/— reusable widgets (custom form fields, etc.).
-
android/,ios/,web/,linux/,macos/,windows/— platform-specific projects generated by Flutter.
Check inside lib/ for detailed screen implementations (e.g. Academy_Appointment_Management.dart,
Student_Quizzes.dart, CustomTextFormField.dart).
- Keep UI logic inside screen files and extract reusable components into
lib/Widget/. - Use
flutter analyzeto check for static analysis issues according toanalysis_options.yaml. - Follow naming conventions visible in the repo (files currently use underscores and PascalCase class names).
This project currently includes a sample widget test located in test/widget_test.dart.
Run tests with:
flutter testAdd unit and widget tests under test/ following Flutter testing docs.
- Analyze:
flutter analyze - Format:
dart format . - Run on device:
flutter run - Build apk:
flutter build apk - Build iOS:
flutter build ios(macOS only)
- Verify platform-specific permissions (camera, storage) for Android/iOS as needed.
- Replace any hard-coded strings with localization if multi-language support is required.
- Add CI (GitHub Actions) to run
flutter analyzeandflutter teston PRs.
- Fork the repository and create a topic branch.
- Run the formatter and analyzer locally.
- Open a pull request describing the change.
Please include tests for new features and keep PRs small and focused.
This repository does not include an explicit license file. Add a LICENSE file to indicate
how the project may be used and contributed to. If you want a permissive license, consider
MIT or Apache-2.0.
For questions or help running the project, open an issue in this repository with details about your environment and the problem you encountered.
README generated/expanded by a development assistant to provide run and contribution guidance.