A feature-rich Flutter application that brings communication and connectivity to life. Built with modern Flutter architecture, Smile integrates real-time messaging, cloud storage, and location-based services for a seamless user experience.
Smile is a cross-platform mobile application built with Flutter that leverages Firebase for authentication, real-time database, and cloud storage. The app provides a comprehensive messaging platform with rich media support, geolocation features, and push notifications.
- 🔐 Authentication: Secure Google Sign-In integration with Firebase Auth
- 💬 Real-time Messaging: Cloud Firestore for instant message synchronization
- 📸 Media Support: Image picker, photo viewer, and file management
- 🎙️ Audio & Voice: Audio recording and playback capabilities
- 📍 Location Services: Google Maps integration and geolocation features
- 🎨 Rich UI: Emoji picker, animations, and material design
- 🔔 Push Notifications: Firebase Cloud Messaging for real-time alerts
- 💾 Local Storage: SQLite database for offline functionality
- ☁️ Cloud Storage: Firebase Storage for media backup and sharing
- 📄 Document Viewing: PDF viewer plugin for document support
- ⚡ Performance: Optimized with loading overlays and smooth animations
| Category | Technologies |
|---|---|
| Framework | Flutter (Dart 2.18.6+) |
| Backend | Firebase (Auth, Firestore, Storage, Messaging) |
| Authentication | Google Sign-In |
| Database | Cloud Firestore, SQLite |
| Maps & Location | Google Maps Flutter, Geolocator |
| Media | Image Picker, Photo View, Just Audio, Record |
| UI Components | Animations, Emoji Picker, Circle List, Percent Indicator |
| HTTP | Dio |
| Notifications | Firebase Cloud Messaging, Local Notifications |
Language Composition: Dart (83.6%) | C++ (7.1%) | CMake (6.2%) | Kotlin (1.1%) | Swift (0.9%) | HTML (0.6%) | Other (0.5%)
# Firebase Services
firebase_auth # User authentication
firebase_core # Firebase initialization
cloud_firestore # Real-time database
firebase_storage # Cloud file storage
firebase_messaging # Push notifications
# Authentication
google_sign_in # Google OAuth integration
# Media & Files
image_picker # Image selection
photo_view # Image viewing with zoom
emoji_picker_flutter # Emoji selection
file_picker # File browsing
pdf_viewer_plugin # PDF document viewing
# Location & Maps
google_maps_flutter # Google Maps integration
geolocator # GPS location services
# Audio/Voice
just_audio # Audio playback
record # Voice recording
# UI & UX
animations # Smooth transitions
circle_list # Circular menu
percent_indicator # Progress indicators
loading_overlay # Loading states
fluttertoast # Toast messages
# Storage & Database
sqflite # Local SQLite database
path_provider # File system paths
# Networking
dio # HTTP client
# Other
intl # Internationalization
permission_handler # Permission management- Flutter SDK (Latest version)
- Dart 2.18.6 or higher
- Android Studio / Xcode
- Firebase project setup
-
Clone the repository
git clone https://github.com/mohitm09/smile.git cd smile -
Install dependencies
flutter pub get
-
Setup Firebase
- Create a Firebase project at Firebase Console
- Add Android and iOS apps
- Download
google-services.json(Android) andGoogleService-Info.plist(iOS) - Place them in the appropriate directories
-
Configure Google Sign-In
- Enable Google Sign-In in Firebase Authentication
- Configure OAuth consent screen
- Add signing certificates for Android
-
Run the app
flutter run