Skip to content

About

Android/iOS Flutter App Foundation and Admin9 Design System

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

149 Commits

Folders and files

Repository files navigation

Admin9 App Starter

Admin9 App Starter is an Android/iOS Admin9 UI and mobile engineering reference application built on Forui. It demonstrates a store-deliverable application baseline through real startup, routing, state, persistence, media lifecycle, responsive, accessibility, and test behavior. It is not a backend or a compatibility layer for superseded APIs.

Current Release

The current release is Admin9 App Starter v1.1.0. The Git history contains the superseded App* architecture as historical context, not a compatibility contract for this Forui Starter. The App Starter release is source-only. Its GitHub CI results verify the release source; no App binary, screenshot, or UI evidence ZIP is distributed with the release.

Included

  • Flutter 3.47.2 and Dart 3.13.2.
  • Forui 0.27.3 as the visible UI design system and base component source.
  • Four persistent destinations: Home, Components, Media, and Settings.
  • AutoRoute typed routes with independent nested Tab stacks.
  • Riverpod presentation state and dependency wiring.
  • Simplified Chinese App copy through EasyLocalization, plus Forui's own localization delegate.
  • A Settings example that persists brightness, Theme preset, five font-size preferences, and radius through a Repository and SharedPreferences Service.
  • Reusable App-level page patterns under lib/shared/ui/, each backed by real consumers and tests.

The runtime uses Forui 0.27.3; the historical documentation catalogue and upgrade evidence bound the capability claims. It does not claim desktop or complete package coverage. Pointer-first or desktop-oriented examples such as Sidebar, Breadcrumb, Pagination, Resizable, and Context Menu are intentionally excluded.

Structure

lib/
|-- main.dart                  # starts the application
|-- app/                       # bootstrap, App host, and typed routing
|-- theme/                     # Forui CLI theme output
|-- shared/ui/                 # tested App-wide page patterns
`-- features/                  # capability catalogs and Settings example

Feature Pages use Forui F* widgets directly. The Starter does not rename Forui primitives behind parallel App* wrappers. Services, Repositories, preferences, and models stay independent of Forui, AutoRoute, Riverpod, and BuildContext; feature-owned providers connect those layers to presentation.

See Product Definition, Application Architecture, and UI System for the authoritative ownership, routing, generation, and generic UI rules. See Upstream Starter for the removable Components catalog, exclusions, and acceptance matrix. Media source provenance lives in Media Scenario Sources.

Getting Started

Install Flutter 3.47.2, then resolve the committed dependency graph and run the application:

flutter pub get --enforce-lockfile
flutter run

The source checks used by CI are:

flutter pub get --enforce-lockfile
git diff --check
dart run build_runner build
git diff --exit-code
test -z "$(git status --porcelain --untracked-files=all)"
dart format --output=none --set-exit-if-changed lib test integration_test tool
dart run tool/check_markdown_links.dart
flutter analyze
flutter test
flutter build apk --debug
flutter build apk --release

The generation checks must run from a clean checkout. Generated AutoRoute source is committed and must not be edited by hand.

Using The Starter

Add Features only when they have an approved consumer. A Feature may add its own presentation, data, or domain paths when each layer has a concrete responsibility and tests; do not create empty architecture for symmetry.

Forui themes remain under lib/theme/. Generate snippets with an explicit output path into the owning Feature or a justified shared pattern. Do not keep a generic snippets directory, run style create --all without a demonstrated need, or use --force to overwrite hand-edited files.

Before distributing a derived App, configure its product-owned Android application ID, namespace, and Kotlin package and its iOS Bundle Identifier and Team in the native project settings. Follow Flutter's Android and iOS deployment guidance.

Contributing And License

Read Repository Working Agreements, Contributing, and the Admin9 Flutter App Skill before changing the Starter.

The project is licensed under the Apache License 2.0. The license does not grant permission to imply Admin9 endorsement or unrestricted use of Admin9 trademarks; see Trademark Notice. Dependencies, fonts, images, and other third-party materials remain subject to their own Third-Party Notices.

Packaged Admin9 UI

admin9_ui contains the action grid, horizontal carousel, feed card, announcement strip and operation banners. The Starter is a consumer and runnable demonstration; downstream Apps can depend on the package without copying App or business source. admin9_ui is a local unpublished package pilot.

About

Android/iOS Flutter App Foundation and Admin9 Design System

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages