Skip to content

This Flutter app uses Firebase Authentication and Firestore to manage user login and registration with proper validation and feedback. It follows a clean Bloc-based architecture to handle authentication states like loading, success, and failure. The UI navigates between login, signup, and dashboard screens using auto_route and shows relevant update

License

Notifications You must be signed in to change notification settings

Siddiqui145/creativity_showcase

Repository files navigation

📱 Flutter Firestore App

A modern Flutter application integrated with Firebase Firestore, providing real-time data access, offline persistence, and network-aware features.


🚀 Features

  • 🔥 Firebase Firestore Integration – Real-time sync and offline caching.
  • 🌐 Network Connectivity Handling – Reacts to changes in internet connection.
  • 🛠️ Clean Architecture – Modular and scalable code structure.
  • 📱 Responsive UI – Smooth UI across devices with adaptive frame rates.
  • 🔙 Back Navigation Support – Compatible with Android 13+ back gesture system.
  • 🔒 Secure Connection – Firebase handles encrypted data transfers.

📸 Demo

Creativity_Showcase.mp4

🧱 Architecture

The app uses a layered approach:


lib/
├── cubit/            # State management using cubit
├── screens/              # UI pages/screens
├── widgets/              # Reusable custom widgets
└── main.dart             # Entry point of the app


⚙️ Installation

Prerequisites

  • Flutter SDK (>=3.0.0)
  • Firebase CLI
  • Dart (>=2.17.0)
  • Android Studio or VS Code

Steps

git clone https://github.com/Siddiqui145/creativity_showcase.git
cd creativity_showcase
flutter pub get
  1. Set up Firebase project and download google-services.json into android/app/.
  2. Run the app:
flutter run

🔧 Firebase Configuration

Ensure you've:

  • Enabled Cloud Firestore in Firebase Console.
  • Downloaded and placed the google-services.json file correctly.
  • Added the appropriate rules in Firebase:
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true; // Adjust as per your auth needs
    }
  }
}

🛑 Troubleshooting

❗ "Failed to load providerinstaller module"

  • This is a known issue with ProviderInstaller. It’s generally harmless unless you're relying on advanced TLS features.
  • Solution: Ensure Google Play Services are up to date on your test device/emulator.

⚠️ Android 13 Back Navigation Warning

To support Android 13 back gesture, add this to your AndroidManifest.xml:

<application
  android:enableOnBackInvokedCallback="true"
  ... >

📦 Packages Used

Package Description
firebase_core Firebase SDK core
cloud_firestore Firestore DB
cubit State management
flutter_local_notifications For background alerts (optional)

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.


Contribute

Pull requests are welcome. For major changes, please open an issue first to discuss what you’d like to change.

About

This Flutter app uses Firebase Authentication and Firestore to manage user login and registration with proper validation and feedback. It follows a clean Bloc-based architecture to handle authentication states like loading, success, and failure. The UI navigates between login, signup, and dashboard screens using auto_route and shows relevant update

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published