Skip to content

Latest commit

 

History

History
47 lines (39 loc) · 1.72 KB

File metadata and controls

47 lines (39 loc) · 1.72 KB

Project Plan - MathBlitz Android APK

1. Problem Definition & Scope

Convert the existing MathBlitz web application into a production-grade Android APK for distribution on the Google Play Store.

Functional Requirements

  • Package HTML/JS/CSS into a native container.
  • Implement Android-specific configurations (Package Name: com.mathblitz.game).
  • Configure app metadata (Name, Version 1.0.0).
  • Generate a debug APK (and provide steps for release signing).

Non-Functional Requirements

  • Performance: High frame rate for animations.
  • Reliability: Graceful handling of offline states.
  • Maintainability: Standardized directory structure.

2. System Architecture

  • Layer 1 (UI/UX): Existing web assets.
  • Layer 2 (Bridge): Capacitor 6.
  • Layer 3 (Native): Android Gradle project.

3. Technology Stack Validation

  • Capacitor: Chosen for its "Web-First" approach.
  • NPM: For dependency management.
  • Java 17: For Android Gradle builds.

4. Code Structure Planning

MathBlitz/
├── www/              # Web assets for Capacitor
├── android/          # Native Android project
├── package.json      # NPM config
└── capacitor.config.ts

5. UI Design Guide & Screen Design

  • Orientation: Locked to Portrait.
  • Status Bar: Hidden or themed to #ffe44d.
  • Splash Screen: Based on the game's logo (yellow theme).

6. Implementation Roadmap

  1. Infra: npm init, install Capacitor.
  2. Setup: Configure capacitor.config.ts and set webDir to www.
  3. Migrate: Move index.html, app.js, etc., to www/.
  4. Android: npx cap add android.
  5. Polishing: Add icons and splash screen.
  6. Build: Run Gradle wrapper to assemble APK.