Setup & Installation Guide (Android & Web)

This guide will help you install and configure AeroKites Edu on your system for Android and web platforms.

Prerequisites

📢 Note for iOS Setup:

The detailed setup and installation steps for iOS are covered separately from Step 14 onwards. Please refer to Step 14: iOS Setup & Installation for a complete guide.

Installation Steps

Step 1: Extract the ZIP File

After purchasing the AeroKites Edu package, extract the ZIP file into your working directory. The extracted folder will have the following structure:

  • 📂 aerokitesedu
  • ├── 📂 android
  • ├── 📂 ios
  • ├── 📂 web
  • ├── 📂 assets
  • │ ├── 📂 images
  • ├── 📂 lib
  • │ ├── 📜 main.dart
  • │ ├── 📜 routes.dart
  • │ ├── 📂 modules
  • │ │ ├── 📂 admin
  • │ │ ├── 📂 attendance
  • │ │ ├── 📂 auth
  • │ │ ├── 📂 banners
  • │ │ ├── 📂 classes
  • │ │ ├── 📂 dashboard
  • │ │ ├── 📂 email
  • │ │ ├── 📂 events
  • │ │ ├── 📂 expenses
  • │ │ ├── 📂 fees
  • │ │ ├── 📂 gallery
  • │ │ ├── 📂 homework
  • │ │ ├── 📂 inquiries
  • │ │ ├── 📂 parents
  • │ │ ├── 📂 settings
  • │ │ ├── 📂 staffs
  • │ │ ├── 📂 students
  • │ │ ├── 📂 subjects
  • │ │ ├── 📂 timetable
  • │ │ ├── 📂 worklist
  • │ ├── 📂 core
  • │ │ ├── 📂 extensions
  • │ │ ├── 📂 layouts
  • │ │ ├── 📂 services
  • │ │ ├── 📂 theme
  • │ │ ├── 📂 utils
  • │ │ ├── 📂 widgets
  • ├── 📜 firestore.rules
  • ├── 📜 cors.json
  • ├── 📜 firebase_storage.rules
  • ├── 📜 pubspec.yaml
  • ├── 📜 README.md
  • └── 📜 analysis_options.yaml

Step 2: Install Flutter & Dart

Ensure you have Flutter and Dart installed. Run the following command to check:

flutter --version

If not installed, follow the official Flutter installation guide.

Step 3: Install Dependencies

Run the following command to install the required dependencies:

flutter pub get

Step 4: Configure Firebase

To set up Firebase, follow these steps:

A. Update AndroidManifest.xml

Ensure the correct package name and permissions:

AndroidManifest.xml Update
B. Update build.gradle

Verify that applicationId matches the Firebase configuration:

Build Gradle Update
C. Download and Add Firebase Configuration Files
Firebase App Register
D. Update web/index.html

Add the correct Google Sign-In Client ID:

Note: The Web Client ID is auto-generated by Firebase when Firebase Authentication is enabled.

Web Index Update
E. Update MainActivity.kt

If you change the package name, update it inside MainActivity.kt as well.

MainActivity.kt Update

Step 5: Deploy Firestore & Firebase Storage Rules

The project includes predefined security rules to protect Firestore and Firebase Storage. To apply them, follow these steps:

Deploy Firestore Rules
firebase deploy --only firestore
Deploy Firebase Storage Rules
firebase deploy --only storage

These rules ensure that only authenticated users can read/write necessary data while preventing unauthorized access.

Step 6: Update Firebase Config

The app uses a file named firebase_options.dart to store Firebase configuration for all platforms (Android, iOS, Web).

In this project, we’ve placed the file at:

lib/core/services/firebase_options.dart

To generate your own configuration file after purchase:

flutterfire configure

This command will generate firebase_options.dart by default in the lib/ folder. Please move it to:

lib/core/services/

so that the app can locate and use it correctly.

Important Notes:

Add Admin User & Configure Email Settings

Before using the app, you need to manually add an Admin User to Firebase Authentication and Firestore. Additionally, configure the email settings for notifications and registration using the Brevo API.

A. Add Admin Email in Firebase Authentication

Navigate to Firebase Console > Authentication > Users and click Add User.

Firebase Add User

Enter the Admin Email and a temporary password, then click Add User.

Firebase User Created
B. Assign Admin Role in Firestore

Next, go to Firestore Database > Start Collection and create a collection named admins.

Create Firestore Collection

Create a document using the User UID from Firebase Authentication.

Firestore Add Admin UID
C. Configure Email Settings

Email notifications in the app are used for user registration, inquiry confirmations, and other communications. The system uses the Brevo API for sending emails.

Accessing Email Settings

Navigate to Settings > Email Settings in the application.

Email Settings in the App
Configuring API Mode

Ensure the mode is set to API, enter the API Base URL (https://api.brevo.com/v3/smtp/email), and paste your API Key. Fill in the Sender Email and Sender Name, then save the settings.

Generating Brevo API Key

Go to the Brevo API Key Console, click Generate a new API Key, and copy it into the app’s email settings.

Brevo API Key Generation
Saving & Testing

After entering the details, click Save and test the configuration by sending a test email to a recipient.

More Information

For detailed Brevo email setup:

D. User Signup/Login Workflow

The user registration and authentication process follows this structured workflow:

Adding Parent or Inquiry Details by Admin
Parent/Staff Completes Registration
UID Creation Using Continue with Google
Logging In & Setting Password