A WhatsApp-like chat application built with Flutter.
This project demonstrates real-time messaging with support for photo storage and the ability to switch between different messaging services.
- Real-time chat interface with text and image messages
- Photo storage (local caching + optional cloud storage integration)
- Pluggable messaging services (e.g., local DB, API, Firebase)
- Cross-platform support: Android, iOS, Web, Desktop
- Modular architecture: clean separation of models, services, and UI
models/→ DefinesMessage,User, and serialization logic.services/→ Abstract layer for sending/receiving messages. Swap backend providers with minimal changes.storage/→ Handles storing & retrieving photos (local cache + cloud sync).ui/→ Contains all Flutter widgets: chat screen, input box, message bubbles.
- Text and photo messages are created in the UI.
- Messages are passed through the services layer, which can use:
- Local DB
- Firebase / API
- Any custom backend
- If a photo is attached:
- It’s uploaded via
storage/(local cache + remote storage). - The message payload contains the photo reference.
- It’s uploaded via
- Clone the repo:
git clone https://github.com/TeoOG/teo-chat.git cd teo-chat - Install dependencies & run:
flutter pub get
flutter run