How We Came Up With the Idea After we attended an IOS workshop, we were very interested in app development and wanted to learn more about developing apps in the IOS environment using languages and an IDE that we weren’t very familiar with (Swift and Xcode). While Lenah was looking up some fun and exciting API’s that we could use to develop our app, we found the API for Pokedex and found out that one of our teammates’ was a really big fan of Pokemon. As we were contemplating on the functionality and purpose of our app, we ultimately decided to develop a Pokemon app in which other users who are big fans of Pokemon or want to learn more about the different kinds of Pokemon can use to find more information about the Pokemon of their choice. We finally settled on using this API: https://pokeapi.co/about.html
Development Process When it came down to splitting up the work, we decided to have two people (Cher and Leanne) work on the backend code in Python and the other two (Lenah and Ethel) work on the frontend code in Swift/Xcode. This idea came about due to the fact that Cher and Leanne are currently learning about web APIs and parsing JSON in their ICS 32 class while Lenah and Ethel had previous experience working with Swift and iOS programming even before the iOS workshop at HackUCI. The process was long and tiresome, as we did not expect to have so many roadblocks in the way. For starters, it was difficult to translate the Python code into Swift due to the fact that Python and Swift utilize different methods to make calls to web APIs, and due to this problem, we as a team had to lookup different ways to make API calls in Swift. However, despite all of our struggles, we ended up learning a lot about iOS programming and utilizing web APIs and in the end, we really enjoyed our time working together.
What the App Does We utilized a tab bar controller comprised of 3 different view controllers to organize our app for the user. The first view controller is where the user starts and it indicates the title of our app, PocketPokedex, and a small description. The middle tab contains the main feature of our PocketPokedex app: looking up information about Pokemon. You can search up a name in the UITextField and hit any of four buttons: Type, Abilities, Moves, and Stats. Each of these buttons segues into a UITableViewController which displays information of the Pokemon corresponding to the category that the user clicked on in rows. If the user does not enter a valid pokemon, or misspells the name, they will receive an empty UITableView along with an alert message telling them that their pokemon name was invalid. Lastly, the third tab simply displays the names of all the members in our group who worked on the project.