Тёмный

Flutterflow: SQLite Local Database Sync to Firebase and Supabase Trick Revealed! | OFFLINE/ONLINE 

Nocode Solutions
Подписаться 784
Просмотров 5 тыс.
50% 1

🚀 In this video, we're delving into unlocking the secrets of Flutterflow SQLite local database synchronization with Either Firebase or Supabase. 📱💡Discover the power of bidirectional data synchronization and take your app to new heights.
Learn how to seamlessly sync your SQLite local database with Firebase and Supabase using this amazing trick in Flutterflow. Keep your app functional both offline and online with ease!
Two-way Database Synchronization.
🔗 Connect:
nocodesolutions.tech
📌 Subscribe
- [ 0:00 ] 🔄Intro
- [ 01:18 ] 🔄 Explore Flutterflow's recent SQLite integration for offline storage, improving app performance.
- [ 1:45 ] 📲 See a sales app example demonstrating online/offline data sync in Flutterflow.
- [ 06:15 ] 🔄 Core concept Explained
- [ 08:13 ] 🔧 SQLIte Setup Use DB Browser for SQLite to set up local databases and prepare queries for Flutterflow.
- [ 18:30 ] 🔄 Implement a SQL query strategy for efficient online/offline data synchronization in Flutterflow.
- [ 18:26 ]🔄 Track offline database changes
- [ 23:30 ] 🔄 Track Online data changes
- [ 27:16 ] 🔄 Sync online changes in Flutterflow
- [ 31:34 ] 🔄 Detect outdated data in the offline database with a query, enabling users to sync and update offline data.
- [ 32:56 ] 🔄 Live demonstration of syncing online/offline Data Sync
- [ 37:33 ] Conclusion

Наука

Опубликовано:

 

25 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 30   
@jbloink01
@jbloink01 4 месяца назад
Cool approach. Thanks for sharing!
@Nocode_Solutions
@Nocode_Solutions 4 месяца назад
Glad to be of help.
@harrybruce9773
@harrybruce9773 4 месяца назад
Thank you for the video. Keep up the great videos. :)
@Nocode_Solutions
@Nocode_Solutions 4 месяца назад
Thanks for watching!
@KaiCodingJourney
@KaiCodingJourney 5 месяцев назад
Bro u r crazyyyy lol! Just a huge respect figuring out! My brain is is still burning from last time when I try to figure that out. I am still struggling with this stuff because my app is web based mainly soooo gotta figure out how to instal like hive or any other alternative. Would be cool to connect too. Love to keep in touch with ppl from FF community
@Nocode_Solutions
@Nocode_Solutions 5 месяцев назад
Haha, thank you man. Glad to hear this was useful to you.
@joseantonioquentaramos8134
@joseantonioquentaramos8134 Месяц назад
Thank bro. This is awesome. A question? How can I persistent an app. What i mean is if the user close the app, when he or she opens again the app the cart has the products. It is native from Maui o from supabase?. Thanks a lot in advance
@awlhunt
@awlhunt 5 месяцев назад
Well done, this is an elegant solution and a vast improvement on using persistent app state to solve the problem!
@user-dy8we7nj8i
@user-dy8we7nj8i 4 месяца назад
thanks man!
@Nocode_Solutions
@Nocode_Solutions 3 месяца назад
Happy to help!
@RikHaanen
@RikHaanen 2 месяца назад
Nice work, love it. Two questions though 1 maybe i missed it, did you get timestamp translated from the server, because devices may not be in the same time zone. 2 if a record is deleted on the server or client, the other must also know, so you can’t actually physically not delete a record, only deactivate it and filter it out on the UI.
@pathumwijayasooriya4302
@pathumwijayasooriya4302 28 дней назад
I keep getting "No such table..." error even though my DB has the tables and fields. It seems like my custom code is unable to locate my SQlite DB.
@MrMaikeul
@MrMaikeul 4 месяца назад
Hey dude, this was awesome! Question: why did you go this route vs. the PowerSync Supabase route? :)
@Nocode_Solutions
@Nocode_Solutions 4 месяца назад
Thank you for pointing out. I'm just learning about PowerSync hearing from you. The reason I used this method is to show a general means by which it can be achieved whether you are using Supabase, Firebase, or any Custom DB. The whole idea is how the structuring, and computation can be used.
@RikHaanen
@RikHaanen 2 месяца назад
Who has experience with PowerSync? And what is the experience?
@yorgohoebeke
@yorgohoebeke Месяц назад
COuld this approach be combined with real time updates in supabase and also automatic syncing as soon as the person is back online?
@bleyd5000
@bleyd5000 5 месяцев назад
nice video man, but I have one little question, how did you get the length for the loop?
@Nocode_Solutions
@Nocode_Solutions 4 месяца назад
You create a page state initialize it at 0, the you loop with the condition that if(page state
@user-ny7sg1pj8z
@user-ny7sg1pj8z 4 месяца назад
is it possible to have the template there are several parts not available in the video for example where you get the list of JSON desupabase how you assign values to the text in the listview
@Nocode_Solutions
@Nocode_Solutions 4 месяца назад
I considered that as basic FlutterFlow concepts. I'd recommend to check FlutterFlow docs here docs.flutterflow.io/
@KaiCodingJourney
@KaiCodingJourney 5 месяцев назад
Also wanted to add why not to use like bool? Like if new item is added set status to False, if in sync set to True. Thats they way I tried to approach it. Timestamp is also very cool way, I think it is more accurate. I also gotta see many manyyyy time how you did that loop it is the part where I stuck lol
@Nocode_Solutions
@Nocode_Solutions 5 месяцев назад
You are right using a boolean value should work perfectly. Now there are several reasons why using timestamps is much better. Without going into much detail, - Using a timestamp provides more granularity in tracking when a specific change occurred. - It can be useful for scenarios where the order of changes matters. - Say for some reason or a different use case multiple clients can make changes concurrently, using a timestamp allows for better conflict resolution. You can compare timestamps to determine which change should take precedence. - Timestamps can be useful in offline scenarios where changes made while offline need to be synchronized based on when they were made. Boolean may not be complex to implement like timestamps but it is important to know what you wan to make use of before choosing.
@KaiCodingJourney
@KaiCodingJourney 5 месяцев назад
@@Nocode_Solutions omg this response is just a gold!!!!! lemme print it out and frame it so when I wake up I will read it every day and remember I gotta learn much much more! Bro your coding knowledge def on like another lvl. Hope one day to know as much as you! Thank you for this break down!
@awlhunt
@awlhunt 5 месяцев назад
@@KaiCodingJourneyThe rabbit hole gets a whole lot deeper once you get to error handling where multiple people could be editing data concurrently 😂 This is why timestamps are vital. If three edits occur to a record (A, B & C) (in timestamp order), however B was edited offline and is synced to the database after C, and there are changes to the common fields, how are you going to deal with this? Are there automatic rules you want to apply? Often there aren’t, in which case you will need to store these versions/changes somewhere and require a user (more UI, more business logic) to review to decide which version (B, C or combination of B/C field data) should prevail…what if another user or an automated process attempts to create a version D edit before the first error has been reviewed? Are they starting from a base record of version C or B? Should you even let them create further edits to the record or do you lock it for editing? What are the implications for offline users who have subscribed (don’t get me started on managing publication/subscription approaches!) to this record/group of records and therefore have very outdated records on their device? Do you impose time limits on edits in between syncs? FlutterFlow is a great tool, but it tends to encourage people to think they can create any type of app when there are significantly different levels of architectural complexity required to do so depending upon what type of app you seek to build. Large concurrent B2B apps may see the above scenarios occur frequently (CRMs, ERPs, MRPs, HRIS systems etc) if they desire offline functionality, where as consumer (B2C) focused systems will see far less of this unless they rely on significant amounts of data sharing (concurrent editing.) If you are building an app with no sharing of data (pure B2C) then adopting this offline first approach is not only pretty simple, but it’s a real winner from a functionality and UX perspective. Take the opportunity to learn about architectural design patterns and approaches when you have some time as it will definitely help get your heard around these challenges, then it’s just a question of how you want to approach it.
@Nocode_Solutions
@Nocode_Solutions 5 месяцев назад
@@KaiCodingJourney Sure thing man, Practice, Practice, Practice :)
@Nocode_Solutions
@Nocode_Solutions 5 месяцев назад
@@awlhunt You are utterly correct! It can get as complex as it can be. That is why in most solutions, you only see a subset or just a very brief functionality allowing for both Online Offline functionality. Let's take for example a chat application: If I compose and send a message while offline, it notes when I did that and then... should it send the message when I get online using the time I came online? or using the time I created the message while I wasn't connected? [ A good example when boolean can't be used again]. A good knowledge on architectural design can help make the bests decisions here. Thank you @awlhunt.
@JuanPerez-vv5lk
@JuanPerez-vv5lk 4 месяца назад
excellent video, but your audio is horrible, please try to get better audio
@Nocode_Solutions
@Nocode_Solutions 4 месяца назад
I'm hoping it'll get better subsequently. Thank you
Далее
Is Supabase Legit? Firebase Alternative Breakdown
8:16
Thank you 3M❤️#thankyou #shorts
00:14
Просмотров 7 млн
Syncing SQLite and Postgres?
24:14
Просмотров 8 тыс.
FlutterFlow: STATE and DATA TYPES management! 🤖
19:06
I tried 5 Firebase alternatives
10:31
Просмотров 759 тыс.
Купил этот ваш VR.
37:21
Просмотров 293 тыс.
Игровой Комп с Авито за 4500р
1:00