It's been one of the most requested features since the launch of our Flutter boilerplate and I am proud to announce that it's now available: Supabase integration. Using the ApparenceKit CLI you can now create a new Flutter project with Supabase authentication and database already configured.
What is Supabase?
Supabase is an open source Firebase alternative. It provides a set of tools to build your backend without coding. It's based on Postgres and it's fully open source. You can host it yourself or use their cloud service.
While Firebase is providing a document based database, Supabase is using Postgres which is a relational database.
It's also providing a lot of other features like authentication, storage, realtime database, etc.
It's open source and pricing is very interesting. You can host it yourself or use their cloud service.
It's backed by Mozilla and used by a lot of companies.
With more than 60K stars on Github, it's a very active project.
Supabase is really impressive. It's providing a lot of features and it's really easy to use.
Creating a backend from scratch is a lot of work. You need to setup a database, authentication, storage, etc.
And in most cases you will end up with a lot of boilerplate code to just save data in a database.
Supabase is providing all of this out of the box, plus they host everything for you.
What's included in the template?
Setup your application in one command
Once you have installed our CLI you can now setup a new Flutter project with our template in one command.
As we provide a CLI tool you can choose between a lot of options.
dart pub global run apparence_cli setup .
After the setup you will have a fully working authentication including:
- authentication state (with riverpod)
- email and password signup page
- email and password signin page
- forgot password page
- logout button + confirmation dialog
- user settings page
- delete account button + confirmation dialog
Apple store and Play store subscriptions template
ApparenceKit provides you everything required by stores to handle in-app subscriptions.
Auto-renewable subscriptions are the most common type of subscription. Users pay a recurring fee to access your content for a specified duration.
This is the most growing monetization model for mobile apps.
|Key Stores Statistics
|Subscription apps installs (Jan 2021 – March 2022)
|Annual spending in top subscription apps worldwide (App Store)
|Annual spending in top subscription apps worldwide (Google Play)
|US user spending on subscription apps on the App Store (iOS)
|Over $6 billion
|US user spending on subscription apps on Google Play
|Over $2.5 billion
|Average subscription cost (August 2020)
Here's what's included in the template:
- UI to display the subscription options
- UI to display user's active subscription
- Option to restore user's subscription
- Payment flow using Glassfy (Apple store) and Play Billing (Google Play store)
You can easily customize every page and add your own subscription options. Check the documentation for more details.
Note: To delete a subscription user's must now do it on Play store or Apple store directly.
Notifications with FCM template
Our starter template also includes a fully working notifications system working with Firebase Cloud Messaging.
As Supabase cannot send notifications directly, we are using Firebase Cloud Messaging to send notifications to your users.
Once started you will get access to a Supabase Edge function repository showing you how to send notifications to your users.
Save a new notification in your Supabase database and it will be displayed on your users devices.
We also provide a UI to display the notifications history, read status and counter in realtime.
Notifications are one of the most important feature for every mobile apps.
They are the key to keep your users engaged and growing your app.
Supabase provides a Postgres database.
Everything is already configured in the template. You can start using it right away.
Every call to the database are made through an API layer directly to the database.
Of course Supabase handles security so you can choose which table or rows are accessible by your users.
You can also use Supabase realtime database to get realtime updates on your data.
Supabase provides a storage system. It allows you to store large files (like images, video, binaries...).
A lot of apps are using storage to store user's profile picture for example.
We configured a StorageApi class to handle all the calls to the storage system.
Also we provide an animated UI to upload and show user avatar in the user settings page.
You are free to use it and customize it as you want.
(If you don't need it, you can remove it easily)
And many more features
Of course like the other templates, you will get access to all the other features:
- Analytics (Mixpanel or Firebase)
- Error reporting (Sentry)
- Enhanced theme (with dark mode)
- Navigation (with adaptive navigation bar across all platforms)
- Introduction screens (onboarding)
- Google ad mobs template
- CI / CD template (choose one of Github actions, Codemagic, Gitlab runner)
- Multiple environments (dev, staging, prod)
- Units tests
- Route guards
- And more...
How to get started?
First you need to get the ApparenceKit CLI. You will be invited to the Github repository after buying the template.
Then run the setup command and choose Supabase when you are asked about database type.
After the ApparenceKit setup command ends, you will have everything you need in the ApparenceKit documentation here. Also there is a dedicated Discord server for ApparenceKit users (Link will be sent to you after purchase). We never leave you alone.