The Timbu Shopping_App is a complete e-commerce solution that allows users to browse, add to cart, and purchase products from the Timbu API. The app features a well-designed shopping experience, including a product catalog, cart functionality, checkout flow, order history, and more.
- Product Catalog: Fetch and display products from the Timbu API with categorization.
- Cart Management: Add and remove products from the cart.
- Wishlist: Save products to a wishlist.
- Checkout: Simulated payment flow for completing orders.
- Order Confirmation: View confirmation details after completing an order.
- Order History: View a list of completed orders.
- Order Details: View detailed information about each order from the order history.
- UI State Management: Proper handling of UI state and errors.
-
Clone the Repository
git clone https://github.com/Dayvid0063/MobileApp_Features cd Features/shopping_app
-
Install Dependencies
Ensure you have Flutter installed. Then run:
flutter pub get
-
Configure API
Update the
lib/config/api_config.dart
file with your Timbu API credentials. -
Run the App
To run the app on an emulator or a physical device:
flutter run
-
Build the APK
To build the APK for release:
flutter build apk --release
The APK will be located in the
build/app/outputs/flutter-apk/
directory.
-
Product Catalog:
- Fetches and displays at least 20 unique products from the Timbu API.
- Products are categorized for easy browsing.
-
Cart Management:
- Users can add and remove products from their cart.
-
Wishlist:
- Users can bookmark their favorite products for easy access.
-
Checkout:
- Simulated payment flow with a checkout process to complete orders.
-
Order Confirmation:
- Provides confirmation details after an order is completed.
-
Order History:
- Displays a list of all completed orders.
- Includes an icon on the home screen top bar for navigation to the order history screen.
-
Order Details:
- Clicking an order from the history screen navigates to a details screen showing the order's specifics.
-
UI State Management:
- Handles various states and errors properly to ensure a smooth user experience.
For any questions or feedback, please contact:
- Name: David Orji
- Email: orjidavid0063@gmail.com
- GitHub: Dayvid0063