OneT Chat is a Flutter social media application I built as a practice project to strengthen my skills in real-time features, Firebase integration, and state management. It provides a complete social networking experience — users can create posts with images, like and comment, chat with other users in real time, and manage their personal profiles.
The app includes a social feed (create posts, upload images, likes, comments), a user directory to browse and start conversations with any registered user, one-to-one real-time messaging, and push notifications for incoming messages even when the app is in the background.
Technically, the app uses Flutter BLoC/Cubit for state management, organized in a feature-based architecture with a global AppCubit managing shared state, and dedicated Cubits for features like login and registration.
The backend runs entirely on Firebase — Authentication for email/password login, Cloud Firestore as the main database for users, posts, comments, and chat messages, and Firebase Cloud Messaging for push notifications. Images are uploaded through the ImgBB API, with only the resulting URL stored in Firestore to keep documents lightweight. Networking for external requests is handled through Dio, and SharedPreferences manages local session persistence for automatic login.
The app also provides limited offline support, allowing previously loaded content to remain accessible without an internet connection.