Very Good Ventures Jun 29, 2022

Build a Flutter app with Very Good CLI and Supabase

Article Summary

Very Good Ventures shows how to build a production-ready Flutter app with Supabase that achieves 100% test coverage. This isn't your typical Firebase clone tutorial.

This comprehensive guide from Very Good Ventures walks through building a Flutter authentication app using Supabase as a Firebase alternative, combined with Very Good CLI, Flutter Bloc, and layered architecture. The tutorial covers everything from database setup to native configuration across Android, iOS, and web platforms.

Key Takeaways

Critical Insight

The tutorial demonstrates how to build a fully tested, production-grade Flutter app using Supabase's PostgreSQL backend and extensive auth provider options beyond typical Firebase offerings.

The article reveals a specific package architecture pattern that makes achieving 100% test coverage surprisingly manageable, even for complex authentication flows.

About This Article

Problem

The team needed to build email magic link authentication that worked across Android, iOS, and web. They also had to keep the code quality high enough for production.

Solution

Very Good Ventures built five separate packages using Very Good CLI. These included SupabaseAuthClient, SupabaseDatabaseClient, and UserRepository. This split authentication, database work, and business logic into different layers. They used Flutter Bloc to manage state across the app.

Impact

All packages reached 100% test coverage. This made it easier for developers to build Flutter apps that scale well and stay testable. The apps connect to PostgreSQL databases with row-level security policies through Supabase.