Mo Merch is an online shop application that allows users to browse and purchase a variety of products. This repository contains the source code and implementation details for the Mo Merch project.
-
Login and Registration: Users can create an account or log in using email and password. Auto-login functionality is implemented for a seamless user experience.
-
Favorites: Users can add products to their favorites list for quick access and later reference. They can also remove products from their favorites.
-
Cart Management: Users can add products to their cart for purchasing. They can easily remove products from the cart as well.
-
Profile Management: Users can update their profile information, including email, password, name, and phone number.
-
Order History: Users can view their previous order history, allowing them to keep track of their purchases.
-
Place Order: Users can place orders for the selected products, initiating the purchasing process.
-
Cancel Order: Users can cancel the order.
-
Multiple Addresses: Users can add and choose from multiple addresses for shipping, providing flexibility and convenience.
-
Google maps: Users can add his location on google maps.
-
Notifications: This app handles foreground and background notifications when order is placed
-
Product Search: Users can search for specific products within the app, making it easier to find desired items.
-
Product Details: Users can view detailed information about each product, including descriptions, prices, and images.
-
Pagination: The app implements pagination to efficiently load and display large lists of products, ensuring a smooth user experience.
-
Animations: Various animations are incorporated throughout the app to enhance the visual appeal and provide a delightful user experience.
- Splash: Displays the app logo or animation when the app is launched.
- Onboarding: An introductory screen that is shown to users when they first access the app.
- Login: Allows users to log in to their accounts.
- Registration: Enables users to create a new account.
- Home: Displays a list of products and provides navigation to various screens.
- Favorites: Shows the user's favorite products.
- Search: Allows users to search for specific products.
- Cart: Displays the products added to the cart for purchase.
- Product Description: Provides detailed information about a selected product.
- User Address: Allows users to select shipping address from their saved addresses.
- Add Address: Allows users to add a new shipping address to their profile.
- Maps: Allows users show his location or add marker on map.
- Place Order: Enables users to finalize their order and proceed to payment.
- Order History: Shows the user's past order details and status.
- Order Details: Allows users show order details and cancel the order.
- Categories: Displays a list of product categories for easy navigation.
The Mo Merch project has been developed using the following technologies and practices:
-
Clean Code and Clean Architecture: The codebase follows clean code principles and utilizes clean architecture concepts for better organization and maintainability.
-
Networking: Dio, hanlding dio errors and interceptors are used for efficient and reliable network communication.
-
Local Storage: Secure storage is implemented for secure and persistent local storage of user data.
-
Service Locator: The Get It package is used for dependency injection and service location.
-
Navigation: GoRouter is utilized for flexible and dynamic navigation between screens.
-
Flutter Hooks: Flutter Hooks are employed for efficient state management and widget composition.
-
State Management: Cubit is the chosen state management solution for managing the app's state.
To get started with the Mo Merch project, follow these steps:
- Clone the repository:
git clone (https://github.com/mohab331/Mo-Merch.git)
. - Install the necessary dependencies using
flutter pub get
. - Run the app on an emulator or physical device using
flutter run
. - add your maps api key
- add your google-services for android notification
Make sure you have Flutter and Dart installed on your machine.
Contributions to the Mo Merch project are welcome! If you find any bugs, issues, or have suggestions for improvements, please feel free to open an issue or submit a pull request.
Please ensure that your contributions align with the project's coding style and follow best practices.
The Mo Merch project is released under the MIT License. Feel free to use, modify, and distribute the code as permitted by the license.
We would like to express our gratitude to the Flutter community for their valuable resources, tutorials, and support that helped make the Mo Merch project possible.
Thank you for using Mo Merch! Happy shopping!