LittleGenius Documentation

A comprehensive guide for developers working on the LittleGenius educational application.

This project is a high-quality educational game suite built with Flutter, designed to help children learn through interactive play. It features a collection of 7 mini-games ranging from alphabet learning to puzzle solving, all wrapped in a vibrant, kid-friendly interface.

Flutter Full Installation

Before proceeding with the project setup, you must have the Flutter SDK installed and configured on your machine. Follow the detailed steps below for your operating system.

1. System Requirements

Ensure your computer meets the minimum requirements. Check official docs for: Windows, macOS, Linux.

2. Download Flutter SDK

Go to the Official Flutter Download Page.

Flutter Download Page

3. Update Path Variable

Add the flutter/bin directory to your system PATH variable so you can run flutter commands from any terminal. (Windows Guide | macOS Guide)

Windows Environment Variables

4. Run Flutter Doctor

Open a new terminal window and run the following command to check for any missing dependencies. (Official Docs)

flutter doctor
Flutter Doctor Output

Review the output. If there are checkmarks next to each item, you are ready to go! If there are errors (X), follow the instructions provided to resolve them (e.g., installing Android Studio or Xcode).

Game Features

Alphabet Game

Alphabet Learning

Interactive A-Z grid. Tapping letters triggers TTS pronunciation and confetti rewards.

Numbers Game

Numbers & Counting

Visual counting numbers 1-20. Objects appear to visualize quantities for better learning.

Memory Game

Memory Match

Classic card flipping game using emojis. Tracks matches and awards stars for completion.

Puzzle Game

Puzzle Game

3x3 Sliding Tile functionality. Randomized numbers that need to be ordered.

๐ŸŽจ

Coloring Fun

Full canvas using scribble. Features variable stroke widths and a color palette.

๐Ÿ”Š

Sound Guess

Audio-based quiz. The app plays a sound, and the child picks the matching image.

๐ŸŽ

Daily Challenges

Daily rotating missions. Encourages variety in play and rewards consistency with bonus stars.

Technology Stack

The application leverages the Flutter ecosystem to provide a performant cross-platform experience.

Project Architecture

The codebase follows a scalable feature-first folder structure.

lib/
โ”œโ”€โ”€ core/              # Global constants and theme
โ”œโ”€โ”€ features/          # Feature modules
โ”‚   โ”œโ”€โ”€ games/         # Specific game implementations
โ”‚   โ””โ”€โ”€ home/          # Dashboard implementation
โ”œโ”€โ”€ shared/            # Shared widgets and providers
โ””โ”€โ”€ main.dart          # Entry point and routing

State Management

We use Provider for dependency injection and state management.

Setup & Installation

Get the project running on your local machine in minutes.

  1. Clone the repository

    Download the source code to your local machine.

  2. Install Dependencies
    flutter pub get
  3. Run the App

    Ensure an emulator or device is connected.

    flutter run

Create Project

If you want to start a completely new Flutter project from scratch, use the following command:

flutter create my_awesome_app

This creates a clear "Hello World" Flutter app. To rename an existing project or this project, see the next section.

App Customization

Change Project Name

To change the app name (package name) properly, we recommend using the change_app_package_name package.

  1. Add the dependency to `dev_dependencies` in pubspec.yaml.
  2. Run the command:
    flutter pub run change_app_package_name:main com.new.package.name

This command updates AndroidManifest.xml, build.gradle, MainActivity files, and iOS project settings automatically.

Change App Color

The app's color scheme is defined globally to ensure consistency.

  1. Open lib/core/constants/app_colors.dart or theme.dart.
  2. Locate the primaryColor or ColorScheme definition.
  3. Update the hex codes to your brand colors.
static const Color primaryColor = Color(0xFF6200EA); // Replace with your color

Change App Icon

We use flutter_launcher_icons to generate pixel-perfect native icons for both Android and iOS.

  1. Design your icon (1024x1024px recommend). Safe it as assets/images/icon.png.
  2. Update pubspec.yaml or flutter_launcher_icons.yaml configuration:
dev_dependencies:
  flutter_launcher_icons: "^0.13.1"

flutter_icons:
  android: true
  ios: true
  image_path: "assets/images/icon.png"

Then generate the icons by running:

flutter pub run flutter_launcher_icons

Future Release Update

To keep your project up-to-date with the latest features and bug fixes from the main repository:

  1. Pull Changes: Run git pull origin main to fetch the latest code.
  2. Update Dependencies: Run flutter pub get to install new packages.
  3. Check Migration: Occasionally, major updates may require migration. Run dart migrate if prompted by the release notes.

Generate Build APK / AAB

Ready to distribute your app? Follow these steps to generate release builds.

Generate APK (Universal)

Best for direct installation on devices or internal testing.

flutter build apk --release

Output location: build/app/outputs/flutter-apk/app-release.apk

Generate App Bundle (AAB)

Required for publishing to the Google Play Store.

flutter build appbundle --release

Output location: build/app/outputs/bundle/release/app-release.aab

iOS Setup

Developing for iOS requires a macOS machine with Xcode installed.

Prerequisites

  • macOS with the latest Xcode installed.
  • CocoaPods installed (sudo gem install cocoapods).
  1. Navigate to the iOS folder: cd ios
  2. Install dependencies: pod install
  3. Open the workspace: open Runner.xcworkspace
  4. In Xcode, configure your **Signing & Capabilities** with your Apple Developer Account.
  5. Run on Simulator/Device: flutter run -d iPhone

Common Errors

CocoaPods not installed

Error: "Warning: CocoaPods not installed. Skipping pod install."

Fix: Run sudo gem install cocoapods terminal, then pod setup.

Gradle Build failed

Error: Often related to Java version mismatch (e.g., using Java 8 instead of 17).

Fix: Ensure your JAVA_HOME environment variable points to a compatible JDK (JDK 17 is standard for newer Flutter versions).

Waiting for another flutter command...

Error: The build process is stuck.

Fix: Delete the lock file: rm bin/cache/lockfile in your Flutter SDK directory.

Change Log

Track the latest updates and improvements to the LittleGenius app.

v1.1.0 (Current)

v1.0.0 (Initial Release)

Support

Need help or found a bug? We are here to assist you.

Contact Us

For technical support or feature requests, please check our repository issues page or contact the development team.

๐Ÿ“ง Email: cloudloopinfotech@gmail.com