Skip to content

Flutter application allows users to upload photos to Firebase Storage

Notifications You must be signed in to change notification settings

OmarHossam666/photo-upload-app

Repository files navigation

Photo Upload App

This Flutter application allows users to upload photos to Firebase Storage, view a list of uploaded photos with metadata, search, paginate, and delete photos. The project uses GetX for state management and Firebase for authentication and storage.

Features

  • GetX Implementation: State management with GetX.
  • Firebase Authentication: User login and authentication setup.
  • Photo Upload: Select and upload photos to Firebase Storage.
  • Display Photo and Metadata: View uploaded photos and their metadata (upload date and file name).
  • List View: Display all uploaded photos and metadata.
  • Search: Search for photos by file name in the list view.
  • Pagination: Navigate through photos in the list view with next and previous buttons.
  • Delete Photo: Delete photos from Firebase Storage and the list view.
  • Dark Mode: This feature need some fix and it will be updated soon!

Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/photo-upload-app.git
    cd photo-upload-app
  2. Install dependencies:

    flutter pub get
  3. Set up Firebase:

    • Create a new Firebase project.
    • Add your Android and iOS app to the Firebase project.
    • Download the google-services.json and GoogleService-Info.plist files and place them in the respective directories.
    • Enable Firebase Authentication (Email/Password).
    • Enable Firebase Storage.
    • Enable Firebase Firestore.

Configuration

  1. Update android/app/build.gradle:

    dependencies {
        classpath 'com.google.gms:google-services:4.3.3'
    }
  2. Update android/app/build.gradle:

    apply plugin: 'com.google.gms.google-services'
  3. Initialize Firebase in your Flutter project:

    void main() async
    {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      runApp(MyApp());
    }

Usage

  1. Login: Authenticate using Firebase Authentication.
  2. Upload Photo: Navigate to the upload page, select a photo from your device, and upload it to Firebase Storage.
  3. View Photos: View a list of all uploaded photos with metadata.
  4. Search Photos: Use the search bar to find photos by file name.
  5. Paginate: Navigate between pages of photos using next and previous buttons.
  6. Delete Photo: Delete a photo from Firebase Storage and the list view.

Screenshots

Login Screen:

Login Screen

Home Screen:

Home Screen

Upload Photo Screen:

Photo Upload

Photo Uploaded Successfully Screen:

Photo Uploaded Successfully

Uploaded Photos Screen (Light Mode):

Uploaded Photos (Light Mode)

Uploaded Photos Screen (Dark Mode):

Uploaded Photos (Dark Mode)

Photo Details Screen:

Photo Details

Dependencies

License

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

About

Flutter application allows users to upload photos to Firebase Storage

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published