An App where you can find product and see its detail.

Overview

MeliProductos Project

🇬🇧 > An App where you can find product and see its detail.
🇪🇸 > Una App donde puedes encontrar tus productos y ver su detalle.

About the App / Sobre la aplicación

🇬🇧 > MeliProductos is an iOS App to find products in a huge catalog. The user can search and view the detail of a particular product. The technology used are SwiftUI as a visual framework and MV as an architecture pattern.
🇪🇸 > MeliProductos es una aplicación para smartphones iOS, en la cual encontrar productos en un catálogo enorme. El usuario puede buscar y ver el detalle de un producto en particular. La tecnología utilizada para la app es SwiftUI como framework visual y MV como patrón de arquitectura.

Minimal Requirements / Requerimientos mínimos

🇬🇧 > It must have at least 3 screens::

  1. Search field.
  2. List view to show search's result.
  3. Product's detail view.

Other requirements are::

  • Each screen could be rotated by user and keepping its view state.
  • Error management about developer's perspective. Long term app consistency and use of logs.
  • Error management facing user usage. A fluid UX is a priority, giving propertly feedback to the user.

🇪🇸 > Debe tener al menos 3 pantallas:

  1. Campo de búsqueda.
  2. Vista de listado para mostrar el resultado de la búsqueda.
  3. Vista detallada del producto seleccionado.

Otros requisitos son:

  • Cada pantalla puede ser rotada por el usuario y debe mantener su estado de la vista.
  • Manejo de errores inesperados desde el punto de vista del desarrollador. Consistencia a lo largo de la aplicación y uso de logs.
  • Manejo de errores de cara al uso del usuario. Priorizar la UX, la cual debe ser fluida, dando feedback al usuario adecuadamente.

Documentation / Documentación

You can find the documentation in this GoogleDoc:: https://docs.google.com/document/d/1iFs4nmE1Bxvh0JQSIJkaK7kC1pd697c2uFuwvtrb5Gk/edit?usp=sharing

Design and preview / Diseño y vista previa

Figma Link::

https://www.figma.com/file/mhUz0NGHBp8BHDYPJVR5ys/MeliProducts?node-id=1%3A3

Demo (rotation keep state feature)::

If you dont see the gif, YouTube Link https://youtu.be/-RdsUkPBUJs

Screenshots::

You can find all timeline in ScreensShots Folder

Screen1-Search::

Screen2-List::

Screen3-Detail::

Others::

Dependencies / Dependencias

KingFisher for url images Repo: https://github.com/onevcat/Kingfisher.git

Installation / Instalación

🇬🇧 > Just download the project, open it xcode, select your device simulator and enjoy. It dosen't ask for any permission, only internet
🇪🇸 > Simplemente descargue el proyecto, ábralo xcode, seleccione el simulador de su dispositivo y disfrute. La app no requiere ningun permiso extra, solo internet

Closure / Cierre

🇬🇧 > I consider that the realization of this project was a very good opportunity to evaluate my current status as a professional. In this project, I put into practice all the skills learned so far and apply what I am passionate about, creating solutions, creating products, creating applications that an end user can use, and which is useful to them.
🇪🇸 > Considero que la realización de este proyecto fue una muy buena oportunidad para evaluar mi estado actual como profesional. En dicho proyecto, puse en práctica todas las habilidades aprendidas hasta el momento y aplicar lo que me apasiona, crear soluciones, crear productos, crear aplicaciones que un usuario final pueda usar, y la cual le sea útil.

Future features

🇬🇧 > Although there are details that can be improved, I am attaching a list of features that I would like to implement.

  1. Add Test throughout the project
  2. Improve loading times
  3. Add pagination to the ListView
  4. Add search field in all views
  5. Add Authentication (Login and Registration)
  6. Add a tabView with options to Search, List Categories, Profile and Edit Profile, Favorites, etc.
  7. Add 'progressBar/loader' animations in async web requests
  8. Add webView to open Seller Reputation link

🇪🇸 > Si bien hay detalles que se pueden mejorar, adjunto lista de features que me gustaría implementar.

  1. Agregar Test en todo el proyecto
  2. Mejorar los tiempos de cargas
  3. Agregar paginado al ListView
  4. Agregar campo de búsqueda en todas las vistas
  5. Agregar Authentication (Iniciar sesión y Registro)
  6. Agregar un tabView con opciones para Buscar, Listar Categorías, Perfil y Editar Perfil, Favoritos, etc.
  7. Agregar animaciones ‘progressBar/loader’ en peticiones web async
  8. Agregar webView para abrir el link de calificacion y reputacion de vendedor

> Joaquin Segovia 2022/4/25
-------------------------------- =======
You might also like...
MerchantKit - A modern In-App Purchases management framework for iOS developers

MerchantKit dramatically simplifies the work indie developers have to do in order to add premium monetizable components to their applications. Track purchased products, offer auto-renewing subscriptions, restore transactions, and much more.

AppVersion - Keep users on the up-to date version of your App.
AppVersion - Keep users on the up-to date version of your App.

📲 App Version Don't let you users to get stuck on outdated version of your app. Automatic update tracking using Semantic Versioning Buil-in UI alerts

An Application to list the products and on selection of product list the detail of particular product
An Application to list the products and on selection of product list the detail of particular product

Merchandising An Application to list the products and on selection of product list the detail of particular product This application uses VIPER design

An e-commerce app with some function: searching, like product, demo paying and view product

Emarket_060921 An e-commerce app with some function: searching, like product, demo paying and view product. I have developed this app all by myself, b

A framework that provides CurtainController. CurtainController is a container view controller that implements a content-curtain interface. You can find a similar implementation in applications like Apple Maps, Find My, Stocks, etc. Someone calls it Display list of Marvel comic Characters and its detail view
Display list of Marvel comic Characters and its detail view

Marvel Universe Display list of Marvel comic Characters and its detail view Installation Dependencies in this project are provided via Xcodegen (proje

This is a repository with an app that shows a list of posts and where you can access the detail of each of them
This is a repository with an app that shows a list of posts and where you can access the detail of each of them

PostsApp This is a repository with an app that shows a list of posts and where you can access the detail of each of them Dependencies You need to inst

what's the most useless thing you can show on Discord? well, you see,
what's the most useless thing you can show on Discord? well, you see,

HealthKitRPC A friend jokingly suggested to have my heart rate visible on Discord. Well... Full of sample code and broken things. Usage Change various

Pendo captures product usage data, gathers user feedback, and lets you communicate in-app to onboard, educate, and guide users to value

Pendo SDK for IOS The Pendo Mobile SDK is a code-less, retro-active analytics collector across all of your app's versions. The SDK also allows present

An Integer type that clamps its value to its minimum and maximum instead of over- or underflowing.

ClampedInteger An Integer type that clamps its value to its minimum and maximum instead of over- or underflowing. Examples let big = ClampedIntege

UIView subclass that bends its edges when its position changes.

AHKBendableView BendableView is a UIView subclass that bends its edges when its position change is animated. Internally, BendableView contains CAShape

A UISwitch that infects its superview with its tint color.
A UISwitch that infects its superview with its tint color.

UISwitch subclass that 'infects' the parent view with the onTintColor when the switch is turned on. Inspired by this Dribble by Ramotion. Screenshot I

ThreeDCardView - Library that you can see images with a 3D card 🌌
ThreeDCardView - Library that you can see images with a 3D card 🌌

🌌 ThreeDCardView Usage First you have to import 'ThreeDCardView' import 'ThreeDCardView' Create ThreeDCardView and set the frame let threeDCardView:T

iOS app for Technex, IIT(BHU) Varanasi. This project is closed before completion. You can use this app for learning purpose. You can use this app as a templet of any event related app.
iOS app for Technex, IIT(BHU) Varanasi. This project is closed before completion. You can use this app for learning purpose. You can use this app as a templet of any event related app.

technex-ios iOS app for Technex, IIT(BHU) Varanasi. This project is closed before completion for some reasons. You can use this app for learning purpo

SuggestionsBox helps you build better a product trough your user suggestions. Written in Swift. 🗳
SuggestionsBox helps you build better a product trough your user suggestions. Written in Swift. 🗳

SuggestionsBox An iOS library to aggregate users feedback about suggestions, features or comments in order to help you build a better product. Swift V

SwiftUI Animation Library. Useful SwiftUI animations including Loading/progress, Looping, On-off, Enter, Exit, Fade, Spin and Background animations that you can directly implement in your next iOS application or project. The library also contains huge examples of spring animations such as Inertial Bounce, Shake, Twirl, Jelly, Jiggle, Rubber Band, Kitchen Sink and Wobble effects. Browse, find and download the animation that fits your needs. ColorAssetsFinder can help you find particular color assets easily by hex color code.
ColorAssetsFinder can help you find particular color assets easily by hex color code.

ColorAssetsFinder ColorAssetsFinder can help you find particular color assets easily by hex color code. Features Find particular color assets in Asset

Are you bored? This app helps find you something to do via Bored api
Are you bored? This app helps find you something to do via Bored api

Bored Swift Are you bored? This app helps find you something to do via Bored api Features Beautiful widgets 📅 Simple and easy ✅ Open source 📱 Previe

Owner
Joaquin Segovia
Software Developer, Programmer, and an Autodidact UI/UX/Multimedia/Graphics/Marketing Designer
Joaquin Segovia
🍎 An App to check whether a non-App Store app is in App Store.

AppStorify ?? An App to check whether a non-App Store app is in App Store. Benfits Use App Store's upgrade mechanism instead of app's. App Store apps

seedgou 58 Dec 7, 2022
Apphud SDK is a lightweight open-source Swift library to manage auto-renewable subscriptions and other in-app purchases in your iOS app.

Apphud SDK Apphud SDK is a lightweight open-source Swift library to manage auto-renewable subscriptions and other in-app purchases in your iOS app. No

Apphud 143 Dec 16, 2022
An easy way to access reviews for your app instead of writing repetitive and redundant codes for every app.

AppStoreReviewManager An easy way to access reviews for your app instead of writing repetitive and redundant codes for every app. Requirements iOS 9.0

Jinya 4 Dec 23, 2022
Apple's Framework to support in-app purchases and interaction with the App Store

Apple's Framework to support in-app purchases and interaction with the App Store.

paigeshin 0 Dec 5, 2021
Appirater - A utility that reminds your iPhone app's users to review the app.

Introduction Appirater is a class that you can drop into any iPhone app (iOS 4.0 or later) that will help remind your users to review your app on the

Arash Payan 4.7k Jan 7, 2023
InAppPurchase - A Simple and Lightweight framework for In App Purchase

InAppPurchase A Simple, Lightweight and Safe framework for In App Purchase Feature Simple and Light ?? Support Promoting In-App Purchases ?? No need t

Jin Sasaki 269 Dec 15, 2022
SwiftyStoreKit is a lightweight In App Purchases framework for iOS, tvOS, watchOS, macOS, and Mac Catalyst ⛺

SwiftyStoreKit is a lightweight In App Purchases framework for iOS, tvOS, watchOS, macOS, and Mac Catalyst. Features Super easy-to-use block-based API

Andrea Bizzotto 6.1k Jan 7, 2023
Mercato is a lightweight In-App Purchases (StoreKit 2) library for iOS, tvOS, watchOS, macOS, and Mac Catalyst.

Mercato Mercato is a lightweight In-App Purchases (StoreKit 2) library for iOS, tvOS, watchOS, macOS, and Mac Catalyst. Installation Swift Package Man

Pavel T 49 Jan 4, 2023
Harpy - Notify users when a new version of your app is available and prompt them to upgrade.

After 6 years of Harpy and 4 years of Siren, I have decided to deprecate Harpy in favor of Siren. Why? Siren is written in Swift and has a feature set

Arthur Ariel Sabintsev 2.6k Dec 29, 2022
Siren - Notify users when a new version of your app is available and prompt them to upgrade.

Siren ?? Notify users when a new version of your app is available and prompt them to upgrade. Table of Contents Meta About Features Screenshots Ports

Arthur Ariel Sabintsev 4.1k Dec 27, 2022