Professional project · Software architecture
BallButton
BallButton is a sports management and reservation platform for racquet clubs and athletic facilities, supporting court bookings, scheduling, membership management, online payments, and social networking.
- Swift
- UIKit
- iOS Framework Development
- iOS Software Architecture
My role and work
As an iOS Engineer at MegaProgramming, I architected and developed a custom, reusable iOS calendar framework from scratch using Swift and UIKit, applying MVC, Protocol-Oriented Programming, and modular architecture. Integrated EventKit for native iPhone calendar synchronization and built highly customizable components to overcome limitations of existing third-party calendar libraries.
Contributed to real-time messaging, video playback, authentication, location-based functionality, and media-rich social features. Worked with an iOS technology stack including Moya, Alamofire, Kingfisher, Eureka, XLPagerTabStrip, SwiftyJSON, Facebook SDK, and Google Maps/Places SDKs.
Designed the reusable calendar framework to reduce repetitive implementation work and improve feature development efficiency, with an estimated 7× faster calendar-feature development compared with the previous approach.
Achievements and metrics
- Designed the reusable calendar framework to reduce repetitive implementation work and improve feature development efficiency, with an estimated 7× faster calendar-feature development compared with the previous approach.
Quoted from the description above; figures are self-reported.
Skills & Technologies 30
- Swift
- UIKit
- iOS Framework Development
- iOS Software Architecture
- Modular Architecture
- Protocol-Oriented Programming
- MVC
- EventKit
- Reusable Components
- Calendar Synchronization
- RESTful API Integration
- Moya
- Google Maps SDK for iOS
- Real-Time Communication
- Socket Programming
- Alamofire
- Kingfisher
- Eureka
- XLPagerTabStrip
- SwiftyJSON
- Google Places SDK
- Google Place Picker
- Facebook Login SDK
- Facebook Share SDK
- Lightbox
- Hue
- Image Caching
- AVPlayer
- Firebase
- Third-Party SDK Integration
The first 15 are the primary skills for this project; the rest are additional.
Chronology
Project 1 of 3 at MegaProgramming (Jan 2014 – Mar 2016), listed newest first. Project-level dates are not given; confirmed order: MSHOP → CarWash → BallButton.