Skip to content

navaneeth-d/SnapShop

Repository files navigation

SnapShop

A user-friendly platform designed to simplify online shopping. It enables users to browse a variety of products, add items to their cart, and manage selections with ease, offering a smooth shopping experience from start to finish.
🎬 Watch video at: Youtube

Tech Stack

Dart
Dart
Flutter
Flutter
Firebase
Firebase

Problem Statement

Develop an e-commerce application that enables users to browse and discover products effortlessly. The app should feature a user-friendly interface for searching, filtering, and organizing products into categories. The app aims to enhance the product discovery process, making it intuitive and enjoyable for users to explore various options and manage their selections.

Development

  1. Download the Flutter Development Kit.

  2. For instructions on how to install watch:

    1. Windows Setup
    2. Mac Setup
    3. Ubuntu Setup
  3. Navigate to the folder you want to create the flutter project.

  4. Using terminal, create new project:

    flutter create <project-name>
  5. Replace the existing lib folder in the newly created flutter project with the lib folder of this repo.

  6. Replace the pubspec.yaml with the pubspec.yaml of this repo or add the dependencies and assets list in the file.

  7. To verify configurations, run:

    flutter doctor -v
  8. Setup firebase, firebase auth and cloud firestore.

  9. For debugging, run the following on the command-line:

    flutter clean
    flutter pub get
    flutter run
  10. For any queries, see flutter docs

  11. For deployment, see deploy flutter

App Installation

  1. Download the apk file SnapShop on your android device.
  2. Install the apk from the downloads folder.
  3. Give permission for system to download files from unknown sources.
  4. Wait for app to install.

Features

  1. Login, Register and Logout.
  2. Sign up with email/password or using Google services.
  3. Forgot Password button to reset password.
  4. Products divided into categories.
  5. Detailed descriptions of products along with scrollable images.
  6. Save Products feature to save items which are out of stock or which you wish to buy later.
  7. Cart feature which provides basic cart functionality - add/remove items.
  8. Cart and saved items are updated real-time in database.
  9. Profile - Displays username, email and location(Stored in database).
  10. Edit profile - Can edit username and location(real-time updates in database).
  11. Delete Account button - Delete authentication as well as database data of the user.

Dependencies

Cupertino Icons Asset repo containing the default set of icon assets used by Flutter's Cupertino widgets.
Firebase Core A Flutter plugin to use the Firebase Core API, which enables connecting to multiple Firebase apps.
Firebase Authentication A Flutter plugin to use the Firebase Authentication API.
Google Sign In A Flutter plugin to sign in with Google account.
SVG for Flutter A Flutter plugin to use SVG files in Flutter application.
Flutter Slidable A Flutter implementation of slidable list item with directional slide actions that can be dismissed.
Cloud Firestore A Flutter plugin to use the Cloud Firestore API to manage realtime database.
Random String Simple library for generating random ascii strings.

Firestore Structure

Products collection

Users collection

Scope for future improvements

  1. Addition of two types of users- customers and sellers. Customers are able to view and buy the products while the sellers are able to add new product directly through the app. Sellers would have to verify themselves before they can identify as a seller.
  2. Search function for customers to search for products.
  3. Recommend new products to customers using machine learning models based on their search history and previously bought products.
  4. Automatically find customer's location without the customer having to set their location using plugins like geolocator and geocoding.
  5. Greater flexibility for users in updating their profile details.
  6. Add payment interface.
  7. Better UI using tools like figma.

Contributors

Navaneeth D

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages