Created a feature-rich eCommerce cross-platform app using the following tech stack: Flutter and Dart for frontend development, Firebase for backend and database integration, GetX for state management, and VelocityX for rapid UI prototyping and styling.
List the main features of your E-commerce app:
- User authentication (Firebase Auth)
- Browse and search products
- Add products to cart
- Checkout and payment processing (In process)
- Order history
- User profile management
- Real-time updates using Firebase Realtime Database or Firestore
- Product reviews and ratings
- Wishlist functionality
Setup Flutter, Dart, and Firebase along with Android/iOS emulator and run the main.dart file.
- Flutter SDK (version X.X.X)
- Firebase project with authentication and Firestore setup
- Android Studio or Visual Studio Code with Flutter plugins
Provide step-by-step instructions on how to install and set up your app:
- Clone this repository:
git clone https://github.com/vbhvshukla/ecommerce.git
- Change the directory to the project folder:
cd your-repo
- Install Flutter dependencies:
flutter pub get
- Configure Firebase:
- Create a Firebase project on the Firebase Console.
- Put the google-services.json in the android folder of your main project directory.
- Run the app:
-
Splash Screen: When you launch the app, you'll be greeted by a stylish splash screen that introduces you to the shopping world.
-
Login or Signup: If you're not already logged in, you'll be prompted to either log in with your existing credentials or create a new account by signing up.
-
Home Screen: Upon successful login or signup, you'll land on the home screen. Here, you have several options:
-
Product Page: You can directly go to the product page to browse and purchase products.
-
Categories: Explore our wide range of categories to find products that match your interests and needs.
-
Cart: View and manage the items in your cart. You can proceed to checkout from here (Note: Checkout feature is a work in progress).
-
User Profile: Access your user profile where you can see your information and change it as needed. You can also add a profile picture to personalize your account.
Briefly describe the organization of your project's code. For example:
lib/
: Contains the main Flutter app code.consts/
: Contains every constants.controllers/
: Contains every controller.models/
: Contains all data models.common_widgets/
: Custom widgets.views/
: Custom different views/screens.services/
:Handles restore services/JSON.- ...