https://github.com/kiarashvosough1999/shopreme-products
https://github.com/kiarashvosough1999/shopreme-products
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/kiarashvosough1999/shopreme-products
- Owner: kiarashvosough1999
- Created: 2023-07-12T16:18:30.000Z (over 2 years ago)
- Default Branch: development
- Last Pushed: 2023-07-14T21:43:11.000Z (over 2 years ago)
- Last Synced: 2025-01-29T13:45:42.694Z (10 months ago)
- Language: Swift
- Size: 19.9 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# The Task
I have created an iOS App "Shopreme-Products" and implemented the Design from 
# The `Shopreme-Products` App
## Senarios
* After launch, the App dynamically fetch products from this , and display them as cards in a vertically scrolling view.
* While the products are being loaded, an activity indicator and text shows the loading state.
* Tapping on one of the products opens a detail screen of the product.
* Tapping the upper right close button, or swiping from left to right from the screen, navigates back to the product overview.
## Architecture & Tools
- [x] Deployment target: iOS 15
- [x] Devices: iPhone only
- [x] Portrait only
- [x] MVVM
- [x] Language: Swift 5.5
- [x] UIKit
- [x] Combine
## Features and Bonuses
- [x] Design System(imported and used specified fonts and color and reusable compnnents)
- [x] Two Columns List(Regarding the screen size)
- [x] Dynamic Page Routing
- [x] Unit-Tests(for viewModels)
- [x] Dependency Managment
- [x] Self Implemented Network Layer
- [x] Fancy Animations and Transitions
- [x] Handled Errors
- [x] Used Sectioned Products List(from )
- [x] Haptic Feedbacks
- [x] Image Caching
- [x] Avoided Complexity
- [x] Layers Depend on Abstraction/Interfaces(Scalability)
# Architecture Overview
