Skip to content

froggomad/ios-sprint-challenge-pokedex

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 

Repository files navigation

About

This is a project I created as a Lambda School student. We had 3 hours to complete the challenge.

Networking Sprint Challenge: Pokedex

This Sprint explored material related to networking and asynchronous tasks on iOS. During this Sprint, you studied dispatch, REST, URL Sessions, completion handlers and more. In your challenge this week, you demonstrate proficiency in these topics by creating an application that uses a free Pokemon API to allow users to search for their favorite monsters.

Instructions

Read these instructions carefully. Understand exactly what is expected before starting this Sprint Challenge.

Follow best practices to ensure your solution is consistent and well designed. You are scored on these aspects as well as meeting the project MVP (minimum viable product) requirements listed below.

Fork this repository and clone your fork to your computer. Create your Xcode project in this cloned fork repository folder. Commit appropriately as you work. When finished, push your final project to GitHub and create a pull request back to this original repo.

You have three hours to complete this Sprint Challenge

Good luck!

Screen Recording

This screen recording previews the look and feel of a completed project that meets the MVP requirements for this project. Please be patient. This GIF is large and may take several seconds to load:

Requirements

This project uses the pokeapi.co API (API Documentation). Use this API to search for pokemons and retrieve their information.

NOTE: This API has gone down in the past. If this happens to you while taking the sprint challenge, use this url as your base URL: http://poke-api.vapor.cloud/. Note that you will have to add the same path components onto that URL that the original API's base URL has.

The requirements for this project are as follows:

  1. Establish a Pokemon record with properties for the Pokemon's name, ID, ability, and types.
  2. Display a list of matching Pokemons and show the sprite (image) associated with the record.
  3. Allow the user to save the Pokemon. Display a list of saved Pokemons in a table view, including the Pokemon sprites. (Stretch: Implement persistence for this list.)
  4. Allow the user to view a Pokemon's information in a detail view controller.
  5. Allow users to remove saved items from their Pokemon list. (If you implement persistence as a stretch goal, keep the saved list in sync.)
  6. Stretch: Allow the user to search for a Pokemon using partial name matching. You will have to download a full list of the Pokemon names from the API and then perform your searches locally.
  7. Stretch: Sort the Pokemons by their name or ID in the saved pokemon list. Offer the user a toggle that enables them to switch between the two sorts.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 100.0%