Skip to content

Repository files navigation

Academy Management

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.

Contents

  • Overview & purpose
  • Technologies used
  • Prerequisites
  • Quick start (clone, install, run)
  • Project structure (key folders and files)
  • Development notes
  • Testing
  • Contributing
  • License

Overview

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).

Technologies

  • Flutter (Dart)
  • Android (Gradle)
  • iOS (Xcode project files included)

See pubspec.yaml for exact Flutter/Dart SDK constraints and package dependencies.

Prerequisites

On Windows PowerShell the examples below assume pwsh.exe (default in this workspace).

Quick start

  1. Clone the repository:
git clone <repo-url> Academy-Management
cd 'Academy-Management'
  1. Get Flutter packages:
flutter pub get
  1. Run the app (example: debug on connected Android device or emulator):
flutter run -d emulator-5554   # replace device id with flutter devices output
  1. Build release APK (Android):
flutter build apk --release

For web:

flutter build web
flutter run -d chrome

Project structure (key files)

Top-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).

Development notes & conventions

  • Keep UI logic inside screen files and extract reusable components into lib/Widget/.
  • Use flutter analyze to check for static analysis issues according to analysis_options.yaml.
  • Follow naming conventions visible in the repo (files currently use underscores and PascalCase class names).

Testing

This project currently includes a sample widget test located in test/widget_test.dart.

Run tests with:

flutter test

Add unit and widget tests under test/ following Flutter testing docs.

Common commands

  • Analyze: flutter analyze
  • Format: dart format .
  • Run on device: flutter run
  • Build apk: flutter build apk
  • Build iOS: flutter build ios (macOS only)

Known limitations & TODOs

  • 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 analyze and flutter test on PRs.

Contributing

  1. Fork the repository and create a topic branch.
  2. Run the formatter and analyzer locally.
  3. Open a pull request describing the change.

Please include tests for new features and keep PRs small and focused.

License

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.

Contact

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.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages