/shop_app

💵 A Flutter-based e-commerce shop app

Primary LanguageDart

Shop App

A Flutter-based e-commerce shop app with features for user authentication, product management, and more. This app was inspired by the Shop App project from the Flutter & Dart - The Complete Guide course created by Maximilian Schwarzmüller on Udemy.

Table of Contents

  • Features
  • Technologies
  • Getting Started
  • Usage
  • Screenshots
  • Contributing

Features

  • User Authentication: Allow users to sign up, log in, and log out securely.
  • Products Overview: Display a list of available products.
  • Product Detail Screen: Show detailed information about a selected product.
  • User Products: Manage products created by the logged-in user.
  • Edit Product: Edit and update user-owned products.
  • Cart Screen: Add products to a shopping cart for easy checkout.
  • Orders Screen: View and manage orders.
  • State Management: Utilizes the Provider package for efficient state management.
  • HTTP Requests: Communicate with a backend server using HTTP requests.
  • Persistence: Store user data and preferences using shared_preferences.
  • Firebase Backend: Backend powered by Google Firebase.

Technologies

  • Flutter: A powerful framework for building natively compiled applications for mobile, web, and desktop from a single codebase.
  • Provider: State management package for Flutter.
  • HTTP: For making HTTP requests to interact with the backend.
  • Shared Preferences: For local data persistence.
  • Firebase: Backend-as-a-Service (BaaS) for authentication, data storage, and more.

Getting Started

  1. Clone the Repository:
    $ git clone https://github.com/khakestari/shop_app.git
    
  2. Navigate to the Project Folder:
    $ cd shop_app
    
  3. Install Dependencies:
    $ flutter pub get
    
  4. Run the App:
    $ flutter run
    
  5. Set Up Firebase: Create a Firebase project on the Firebase Console. Configure the project according to your needs (authentication, Firestore, etc.). Add your Firebase configuration to the project.

Usage

  • Sign up for an account or log in if you already have one.
  • Browse and search for products.
  • Add products to your cart.
  • Place orders for selected items.
  • Manage your products in the user products section.
  • Edit product details, including title, description, and price.
  • Log out when finished.

Screenshots

soon will be added.

Contributing

Contributions are welcome! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request.