A modern, beautiful social media application built with Flutter and Firebase. Share your thoughts, connect with others, and express yourself through posts, likes, and replies.
Want to experience Paloma right away? Download the latest release from our GitHub Releases page!
- π± Android APK: Direct install for Android devices
- π Authentication: Secure user authentication with Firebase Auth
- π± Real-time Posts: Create and share posts with real-time updates
- β€οΈ Like System: Engage with content through likes
- π¬ Replies: Comment and reply to posts
- π€ User Profiles: Customizable profiles with usernames, bios, and profile pictures
- π¨ Dark/Light Themes: Beautiful Material Design 3 theming with theme switching
- π Role-based Access: Admin and user role management
- πΈ Image Upload: Profile picture management with Firebase Storage
- π Real-time Sync: Live updates across all users
- π± Cross-platform: Works seamlessly on Android and iOS
This project follows a clean, scalable architecture:
lib/
βββ controllers/ # GetX controllers for state management
βββ core/ # Core functionality (routes, constants)
βββ data/ # Data layer (repositories, models)
βββ presentation/ # Presentation layer
β βββ screens/ # Screen widgets
β βββ widgets/ # Reusable UI components
βββ main.dart # Application entry point
- BLoC Pattern: Complex state management for authentication and data streams
- GetX: Simple state management for UI controllers and navigation
- Material Design 3: Modern Google design language
- Flex Color Scheme: Beautiful, consistent color theming
- Custom Fonts: Scheherazade New for elegant typography
- Flutter SDK (^3.8.1)
- Dart SDK (^3.0.0)
- Firebase project with Authentication, Firestore, and Storage enabled
-
Clone the repository
git clone https://github.com/your-username/paloma.git cd paloma -
Install dependencies
flutter pub get
-
Configure Firebase
- Create a Firebase project at Firebase Console
- Enable Authentication, Firestore Database, and Storage
- Add your Android/iOS apps and download the configuration files
- Place
google-services.json(Android) andGoogleService-Info.plist(iOS) in appropriate directories
-
Configure Firebase Options
flutterfire configure
-
Run the app
flutter run
- Flutter: Cross-platform UI framework
- Dart: Programming language
- Firebase Authentication: User authentication
- Cloud Firestore: NoSQL database for real-time data
- Firebase Storage: File storage for profile images
- BLoC: Business logic components for complex state
- GetX: Lightweight state management and navigation
- Material Design 3: Modern design system
- Flex Color Scheme: Advanced theming
- Cupertino Icons: iOS-style icons
- Cached Network Image: Efficient image loading and caching
- Image Picker: Native image selection
- Shared Preferences: Local data persistence
- Jiffy: Date/time formatting
- Shimmer: Loading animations
paloma/
βββ android/ # Android-specific files
βββ ios/ # iOS-specific files
βββ lib/ # Flutter source code
β βββ controllers/ # GetX controllers
β βββ core/ # Core utilities and routes
β βββ data/ # Data layer
β βββ presentation/ # UI layer
β βββ main.dart # App entry point
βββ assets/ # Static assets (images, fonts)
βββ test/ # Unit and widget tests
βββ pubspec.yaml # Dependencies and configuration
βββ README.md # Project documentation
- Create collections in Firestore:
users: User profiles and metadataUser_Posts: Posts with likes and timestampsUser_Posts/{postId}/Replies: Nested replies collection
Configure your Firebase project ID in lib/firebase_options.dart (auto-generated by flutterfire).
Run tests with:
flutter testRun integration tests:
flutter test integration_test/flutter build apk --release
flutter build appbundle --releaseflutter build ios --release- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Push notifications
- Direct messaging
- Stories feature
- Video posts support
- Advanced search and filters
- Multi-language support
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter team for the amazing framework
- Firebase for robust backend services
- Material Design team for beautiful design guidelines
- Open source community for inspiration and tools
If you have any questions or issues, please open an issue on GitHub or contact the maintainers.
Made with β€οΈ using Flutter and Firebase






