Flutter

Quick Start

This walkthrough uses the full colveor package. With colveor_ui only, import from package:colveor_ui and drop the API settings from the config.

1. Create a config

lib/config/app_config.dart
Dart
import 'package:colveor/config.dart';

class AppConfig extends VoConfig {
  @override
  String get appName => 'My App';

  @override
  String get apiBaseUrl => 'https://api.myapp.com';

  @override
  String get apiVersion => 'api/v1';

  @override
  VoRoutingConfig get routing =>
      const VoRoutingConfig(initialLocation: '/');
}

2. Define routes

lib/routes.dart
Dart
import 'package:colveor/colveor.dart';

List<RouteBase> appRoutes(VoConfig config) => [
  GoRoute(path: '/', builder: (context, state) => const HomeScreen()),
];

3. Define a theme

Extend VoColors, VoSizes and VoTypography, then combine them in a VoTheme. See Theming.

4. Wire up main.dart

lib/main.dart
Dart
import 'package:flutter/material.dart';
import 'package:colveor/colveor.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await VoBootstrap.initialize(config: AppConfig());

  runApp(
    ColveorApp(
      config: AppConfig(),
      appRoutes: appRoutes,
      builder: (context, colveor) => MaterialApp.router(
        theme: const AppTheme().light,
        darkTheme: const AppTheme().dark,
        themeMode: colveor.themeMode,
        routerConfig: colveor.router,
      ),
    ),
  );
}

Next steps

Widgets

Buttons, inputs, overlays, toasts and page flows from colveor_ui.

Authentication

Add phone or email sign-in with VoAuthScreen.

Notifications

Enable push with Firebase Cloud Messaging.

Configuration

Timeouts, tenant headers, DPoP and interceptors.