// the find
takiuddin93/ChatApp
A Flutter Chat application, using Firebase for Google Sign In/Sign Up and exchange text, emoji and images. Integrated Agora Video Call SDK to communicate over video call
A Flutter chat app demo from 2021 combining Firebase (auth, Firestore, FCM) with Agora for video/voice calls. It covers the full feature set you'd expect from a learning project: 1:1 chat, group chat, image sharing, and call screens. This is reference material for Flutter beginners, not a foundation for a production app.
The project structure is reasonably organized with a resources/screens/widgets separation that mirrors how senior Flutter developers actually lay out apps. It uses Provider for state management rather than raw setState everywhere. The dual local storage approach (Hive + SQLite via an interface/repository pattern) shows some architectural thinking even if it's overkill for the scope. Both Android and iOS are configured, including FCM push notification handling on the native side.
Last touched in March 2021, which means Flutter 2.x era code — null safety adoption was just starting and this almost certainly predates it, so you'll hit migration friction immediately. The Agora token is stored as a plain const in a config file, which is a security problem the README doesn't flag at all. No tests beyond the generated widget_test.dart placeholder. The group chat screens are a near-copy-paste of the 1:1 screens with no shared abstraction, which is the first thing you'd want to fix before building on this.