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
|
Dart |
Flutter |
Firebase |
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.
-
Download the Flutter Development Kit.
-
For instructions on how to install watch:
-
Navigate to the folder you want to create the flutter project.
-
Using terminal, create new project:
flutter create <project-name>
-
Replace the existing
libfolder in the newly created flutter project with the lib folder of this repo. -
Replace the
pubspec.yamlwith the pubspec.yaml of this repo or add the dependencies and assets list in the file. -
To verify configurations, run:
flutter doctor -v
-
Setup firebase, firebase auth and cloud firestore.
-
For debugging, run the following on the command-line:
flutter clean flutter pub get flutter run
-
For any queries, see flutter docs
-
For deployment, see deploy flutter
- Download the apk file SnapShop on your android device.
- Install the apk from the downloads folder.
- Give permission for system to download
files from unknown sources. - Wait for app to install.
Login,RegisterandLogout.Sign upwith email/password or usingGoogle services.Forgot Passwordbutton to reset password.- Products divided into categories.
- Detailed descriptions of products along with scrollable images.
Save Productsfeature to save items which are out of stock or which you wish to buy later.Cartfeature which provides basic cart functionality - add/remove items.- Cart and saved items are updated real-time in database.
Profile- Displays username, email and location(Stored in database).Edit profile- Can edit username and location(real-time updates in database).Delete Accountbutton - Delete authentication as well as database data of the user.
| 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. |
- 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.
- Search function for customers to search for products.
- Recommend new products to customers using machine learning models based on their search history and previously bought products.
- Automatically find customer's location without the customer having to set their location using plugins like geolocator and geocoding.
- Greater flexibility for users in updating their profile details.
- Add payment interface.
- Better UI using tools like figma.

