Skip to content

zvhir3/iOS-mvvm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

10 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

iOS-MVVM

A modern SwiftUI-based Pokemon exploration app built with MVVM architecture, featuring user authentication and Pokemon list and details data display.

๐Ÿ—๏ธ Architecture

This project follows the Model-View-ViewModel (MVVM) architectural pattern with a separation of concerns:

  • Models: Data structures representing Pokemon, user data, and API responses
  • Views: SwiftUI views for user interface
  • ViewModels: Business logic and state management
  • Services: Data fetching and authentication services
  • Utils: Utility classes and helpers

๐Ÿ“ฑ Features

  • User Authentication: Firebase and REST API login options
  • Pokemon List: Browse Pokemon with pagination and loading states
  • Pokemon Details: Detailed view with stats, abilities, moves, and types
  • Multiple Data Sources: Fetch for both REST API and GraphQL (Switchable)

Inspiration

This project architecture is inspired by the principles described in the book:

iOS Architecture Patterns: MVC, MVP, MVVM, VIPER, and VIP in Swift
by Raรบl Ferrer Garcรญa

Clean Architecture: A Craftsman's Guide to Software Structure and Design

๐Ÿ™ Acknowledgments

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages