Appearance
Build & Deployment Guide: Microtec POS
This document outlines the multi-platform build and deployment processes for the Microtec POS system.
1. Multi-Platform Build Commands
Microtec POS is optimized for three primary platforms: Windows, Android, and iOS.
Windows (MSIX Packaging)
The Windows build uses the msix package to generate a self-signed or store-ready installer.
bash
# Clean and get dependencies
flutter clean
flutter pub get
# Generate code
flutter pub run build_runner build --delete-conflicting-outputs
# Build MSIX package
flutter pub run msix:createNote: Ensure the msix_config section in pubspec.yaml is updated with the correct msix_version and certificate before building.
Android (APK & App Bundle)
Android builds are configured for both direct installation and Google Play Store distribution.
bash
# Build APK for direct installation
flutter build apk --release
# Build App Bundle for Play Store
flutter build appbundleTip: Android build signatures are managed in android/app/build.gradle.
iOS (App Store)
iOS builds follow the standard Flutter/Xcode flow.
bash
# Build iOS IPA
flutter build ipa --releaseNote: Xcode setup and signing identities must be configured on a macOS machine.
2. CI/CD: Bitbucket Pipelines
The project includes a bitbucket-pipelines.yml configuration for automated Android builds.
- Workflow: On every commit, the pipeline:
- Installs Flutter.
- Runs
build_runner. - Builds the APK and App Bundle.
- Uploads artifacts to the Bitbucket repository.
- Automated Deployment: The
Deploy-to-Productionstep uses a customcurlcommand to push the APK to a custom update server for auto-updates on devices.
3. Versioning Strategy
The application version is managed in pubspec.yaml:
- Format:
version: 1.4.10+54(Semantic Version + Build Number). - Update Frequency: The build number (
+54) should be incremented for every release to ensure update mechanisms (like Android'sversionCodeand MSIX's versioning) function correctly.
4. Platform-Specific Assets
- App Icons: Icons for all platforms are generated from
assets/images/new_logo.pngusing theflutter_launcher_iconspackage. - Splash Screen: Splash screens are generated using the
flutter_native_splashpackage. - CDS Images: Marketing images for Customer Display Systems (CDS) are located in
assets/images/and configured inassets/config/log_capabilities.json.
For development-specific details, see DEVELOPER_GUIDE.md.