- Ready for localization
- Heavy use of generics in the project
- Network layer uses generics and is abstracted away
- Searching Countries
- Sorting Countries by population, gini
- Displays Total world population
- Tests that all 250 countries are decodable through my model
- programmatic UI
These are improvements the app can use if I had more time.
- UI is in need of a overhaul
- More testing
- Decode entire Country instead of a couple data fields
- Add all needed icons
- Remove API.plist and make it more secure
- fix constraint issues that I couldnt figure out
- More documentation for base classes and network.
- perhaps check out if I have any memory leaks
For 4 hours I think I did pretty well. I got to play with generics more and abstracted away a large part of the code base, towards the end I feel like I rushed it and saw a lot of sloppy code but that can be fixed later. I definitely need to work on my UI skills cause it's more difficult to write UI code from scratch than other code for me. I probably over engineered everything with generics but its OK because I learned alot.