Skip to main content

aquabase 0.6.6 copy "aquabase: ^0.6.6" to clipboard
aquabase: ^0.6.6 copied to clipboard

Flutter SDK for Aquabase — encrypted real-time database with offline sync, tags, and binary transport.

example/main.dart

import 'package:flutter/material.dart';
import 'package:aquabase/aquabase.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // 1. Initialize Aquabase
  final app = await Aquabase.init(
    projectId: 'demo-project-id',
    apiKey: 'aq_pub_demoapikey123',
  );

  runApp(MyApp(app: app));
}

class MyApp extends StatelessWidget {
  final Aquabase app;

  const MyApp({super.key, required this.app});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text('Aquabase Demo')),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              // 2. Write data (instant local cache + background sync)
              ElevatedButton(
                onPressed: () async {
                  await app.collection('users').doc('u1').set({
                    'name': 'Ana',
                    'age': 25,
                    'createdAt': DateTime.now(),
                  });
                },
                child: const Text('Save User'),
              ),
              const SizedBox(height: 16),
              // 3. Read data
              StreamBuilder<Document?>(
                stream: app.collection('users').watch('u1'),
                builder: (context, snapshot) {
                  if (snapshot.hasData && snapshot.data != null) {
                    final data = snapshot.data!.data;
                    return Text('User: \${data['name']} (\${data['age']})');
                  }
                  return const Text('No user saved yet.');
                },
              ),
              const SizedBox(height: 32),
              // 4. Offline sync status
              StreamBuilder<bool>(
                stream: app.connectionState,
                builder: (context, snapshot) {
                  final isConnected = snapshot.data ?? app.isConnected;
                  return Text(
                    isConnected ? '🟢 Online' : '🔴 Offline (Pending: \${app.pendingOfflineOps})',
                  );
                },
              ),
            ],
          ),
        ),
      ),
    );
  }
}
0
likes
0
points
118
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter SDK for Aquabase — encrypted real-time database with offline sync, tags, and binary transport.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

android_id, cryptography, device_info_plus, flutter, msgpack_dart, package_info_plus, path_provider, web_socket_channel

More

Packages that depend on aquabase