
Project Overview:
https://apps.apple.com/ca/app/kingscourt/id6680142953
KingsCourt is meant to be an all around improvement to a previous project FastBreak. It was developed within the span of a week, and was recently released to the app store! It utilizes more modern code and technologies such as Swift Data (rather than the previously used CoreData) and seeks to show a more mature understanding of UI development.
Key Features:
- Player Stats and profile customization
- Scorekeeping of 1v1 to 5v5 games
- Data persistence with Swift Data
- Game Logs
Challenges:
- MVVM has seemingly been becoming more and more outdated especially with the introduction of SwiftData, which works much better when implemented within the view. However, I wanted to incorporate the MVVM architecture into this app, and doing so alongside SwiftData was a hard yet rewarding process
- Maintaining a minimal UI. This project had a big emphasis on a clean and sleek UI, one that I find much better than my previous iteration.
- Handling player deletion was particularly difficult seeing as a persisting data model GameHistory (used for the game logs) relied on having an array of players. This led to a deleted player placeholder system that was fun to integrate. Furthermore, ensuring players aren’t deleted mid-game (as you navigate away from the play screen) was something that took some extra hacking.
Screenshots:




Takeaways:
<aside>
📄 Being almost two years into my iOS journey, it’s great to see the improvements I’ve made in the speed in which I can create an app as well as the greater design and coding skills that have come with my practice. Also, being the first app I’ve released to the app store has felt really rewarding!
</aside>