Mason Brick

web_app

Mason brick that scaffolds a production-ready Flutter web app with Firebase Remote Config, splash/icon setup, and a WebView shell—from a few CLI prompts.

Q

Qoder

8 sectionsMason Brick

Overview

web_app is Qoder's Mason brick for spinning up a fully functional Flutter application with minimal prompts. Answer a few questions and the brick generates a new Flutter project, wires web and mobile targets, optional native splash/launcher icon from your logo, and Firebase Remote Config with a live base URL—so teams start on product work instead of boilerplate.

  • Generate a new Flutter project with web-ready defaults
  • Optional native splash and launcher icon from a PNG logo
  • Optional Firebase + Remote Config with a monitored base_url
  • Pre-wired WebView shell for hybrid web experiences
  • Pre-gen and post-gen hooks for a smooth mason make flow

What's included

The brick packages the scaffolding teams usually hand-roll for web-first Flutter products.

  • Flutter project initialization with platform folders (android, ios, web, desktop)
  • Dependency setup for web and mobile targets
  • Native splash and launcher icon generation from a provided PNG
  • Firebase project integration path with Remote Config base_url listening for live changes
  • Assets starter (loading animation + logo) and a presentation-layer WebView screen

Installation

Requires the Mason CLI. Install the brick from BrickHub locally or globally, then generate.

Dart
# Activate Mason CLI
dart pub global activate mason_cli

# Install brick (local)
mason add web_app

# Or install globally
mason add -g web_app

# Generate
mason make web_app

Variables

Prompts collected during mason make web_app.

  • appName — application name (string)
  • url — base URL for the web shell / Remote Config default (string)
  • enableRemoteConfig — wire Firebase Remote Config for live base URL (boolean)
  • setupLauncherIconAndSplash — generate launcher icon and splash from a PNG (boolean)

Project structure

Generated layout emphasizes a thin core + presentation shell ready for product screens.

Dart
YOUR_APP_NAME/
├── android/
├── assets/
│   ├── loading.json
│   └── logo.png
├── ios/
├── lib/
│   ├── core/
│   │   └── app_constants.dart
│   ├── presentation/
│   │   └── screens/
│   │       └── web_view_screen.dart
│   └── main.dart
├── web/
├── linux/ macos/ windows/
├── test/
├── pubspec.yaml
└── README.md

macOS & Linux notes

Host tooling required for file dialogs and Mason workflows on desktop generators.

  • Zenity — file selection dialogs (brew install zenity / apt install zenity)
  • Subversion (svn) — required by some Mason version-control flows (brew install svn / apt install subversion)
  • Install these before mason make web_app to avoid mid-generation failures

Environment

Brick environment constraint published on BrickHub.

Dart
mason: ">=0.1.0-dev.57 <0.1.0"

Why this exists

Hybrid web shells and Firebase-backed Flutter products share the same first-day setup cost. web_app encodes that bootstrap as a versioned brick on BrickHub so Qoder and client teams can regenerate consistent foundations instead of copy-pasting repos.