Skip to content

Easy-Shoping is an E-Commerce app built using SwiftUI, following the MVVM architectural pattern. Provided User Profile Management ,Secure Authentication, Shopping Cart Product Details, Proceed with payment, view orders history, Product Search & Filtering.

Notifications You must be signed in to change notification settings

MohamedAboElsaud/Easy-Shopping

Repository files navigation

📌 Easy-Shopping (E-Commerce App)

featured

🚀 Overview

Easy-Shoping is an E-Commerce app built using SwiftUI, following the MVVM architectural pattern. App fetches product data through API integration, empowering users to effortlessly explore a diverse range of offerings. Designed with a blend of MVVM and Clean Architecture, the app ensures an intuitive user experience, enabling easy product search, addition or removal of favorites, and seamless cart management for a better user experience.

Leveraging Swift, and SwiftUI, our design prioritizes user-friendliness, ensuring a smooth and enjoyable shopping journey. Inclusion of UITests and Unit Tests further ensures the app's reliability and functionality.

🎯 Features

✔️ Create an account or log in to an existing account

✔️ Add/remove items to/from their cart.

✔️ Proceed with payment

✔️ User-Friendly UI – Designed with SwiftUI for a smooth and intuitive shopping experience.

✔️ Product Catalog – browse the product catalog.

✔️ Product Search & Filtering – Allows users to find products quickly using search functionality and filters.

✔️ Product Details – Displays comprehensive product information, including images, descriptions, and pricing.

✔️ Favorites/Wishlist – Users can add or remove products from their favorites list.

✔️ Shopping Cart – Seamless cart management, enabling users to add, update, or remove items.

✔️ Checkout & Order Summary – A simple and efficient checkout process with order details.

✔️ Secure Authentication – User login and registration functionality (if implemented).

✔️ User Profile Management – Users can manage their personal details and order history.

✔️ view orders history

🛠️ Tech Stack

  • Swift Programming language - For interactive functionalities
  • SwiftUI - For styling and layout, Animations & Smooth Transitions, and Enhancing user experience with SwiftUI animations.
  • Error Handling & Network URL Session – Graceful handling of API failures or connectivity issues.
  • MVVM Architecture - For structuring the app, and Ensuring separation of concerns for better scalability.

📸 Screenshots

🌞 Light Mode

Light Mode Preview

Screenshots📱

Profile Home page Favorites Special Products
Profile Home Favorites CategoryProducsts
Sign up Sign in Onboarding Product Detail
Sign Up Log in Onboarding
Address Payment Card bank Orders
Sign Up Log in Onboarding
Order reviewing Order details Review Loging
Sign Up Log in Onboarding

📌 Future Improvements

🔹 Add Upload profile picture functionality for accounts
🔹 Improve Search for Product functionality for home screen
🔹 Implement Local storage to save products
🔹 Improve Animations and UI transitions

Installation

To install and run Easy Shopping, follow these steps:

  1. Clone the repository to your local machine:
git clone https://github.com/MohamedAboElsaud/Easy-Shoping.git
  1. Open the project in Xcode.

  2. Build and run the project on your desired iOS 16+ device or simulator.

Usage

Open the ShopingAppSwiftUI.xcodeproj file with Xcode and build the application in the simulator or on a device.

It's a demo of Easy-Shopping app :

📢 Contributing

Contributions are welcome! If you have any ideas, suggestions, or improvements, feel free to fork this repository and submit pull requests. Feel free to open an issue or submit a pull request. Contributions are always welcome! 😊

About

Easy-Shoping is an E-Commerce app built using SwiftUI, following the MVVM architectural pattern. Provided User Profile Management ,Secure Authentication, Shopping Cart Product Details, Proceed with payment, view orders history, Product Search & Filtering.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages