Giter Club home page Giter Club logo

pokedex-ios's Introduction

Pokedex-iOS

Swift Version Platform Xcode Version

Table of Contents

Introduction

Pokedex-iOS is a comprehensive app for Pokémon enthusiasts, providing an interactive interface to explore regions, discover Pokédexes, and manage Pokémon teams. This project is entirely written in Swift and follows modern best practices and design patterns.

Architecture

We use MVVM+Router for a clear separation of business logic and UI, improving code maintainability and testing. MVVM facilitates the abstraction of data models from the view controller, while 'Routers' manage navigation and transitions in a centralized and modular way.

Characteristics

  • 100% Swift 5: Utilizing the latest language capabilities.
  • Combine: Reactive event and server call management.
  • Image Caching: Improved efficiency in image loading and display.
  • URLSession: Robust communication with REST APIs.
  • Firebase Realtime Database: Real-time data storage and synchronization.
  • Clean Code: Structured and easy-to-maintain code.
  • Orientation Support: Functional in landscape and portrait modes.
  • Color Modes: Compatible with light and dark themes.
  • Error Handling: Robust strategies for an enhanced UX.
  • Crashlytics: Error monitoring and application stability.

Features

  • List of regions: Explore the various regions of the Pokémon world.
  • List of Pokédexes by region: Discover the Pokédexes associated with each region.
  • List of Pokémon by region: Find and learn about the Pokémon in each area.
  • Pokémon Teams: Create and save custom teams with 3 to 6 Pokémon.
  • Cloud Storage: Save and synchronize your teams via Firebase.
  • Sidebar Menu: Intuitive navigation between application modules.

Demonstration

See how the app works through the following demonstration videos:

ScreenRecording.mp4
Screen.Recording1.mp4

Prerequisites

  • Xcode 14.0.1 or higher.
  • iOS 16.0+ SDK.

Installation

Follow these steps to install and run the project:

git clone https://github.com/Jmejia-24/Pokedex-iOS.git
cd Pokedex-iOS
open Pokedex-iOS.xcodeproj
# Wait for Xcode to install the necessary SPMs.

Swift Package Manager (SPM)

The project uses SPM to manage dependencies. Here is the list of included packages:

  • Firebase: Authentication and cloud storage.
  • GoogleSignIn: Login with Google accounts.
  • CodableFirebase: Serialization and deserialization of Firebase data.
  • FacebookLogin: Integration with Facebook login.
  • IQKeyboardManagerSwift: Automatic keyboard management.

With the project open in Xcode, you can compile and run the app on an iOS simulator or real device by selecting the appropriate scheme and pressing the Run button.

pokedex-ios's People

Contributors

jmejia-24 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.