A native iOS application built with modern Swift technologies to track Malmö FF players, designed with scalable architecture and premium UI in mind.
- Live Scraping: Python backend extracts real-time player data from MFF.se.
- On-Demand Details: Fetches detailed biography, age, position, and season statistics (Games, Goals, Cards).
- Native iOS UI: Built with
SwiftUIfor a smooth, premium feel. - Offline Capabilities: Uses
SwiftDatato cache players for offline access. - Pull-to-refresh: Updates data on demand.
- SwiftUI (
List,@Observable,@Query) - SwiftData for persistent local storage
- Swift Concurrency (
async/await) - MVVM + Clean Architecture:
- Features: View + ViewModels (Presentation Layer)
- Data: Network & Storage Services (Data Layer)
- Models: Shared Domain Entities (Domain Layer)
- FastAPI for serving data
- BeautifulSoup4 for scraping
mff.se - Uvicorn server
- Backend Scrapes Data:
scraper.pyparsesmff.seHTML. - App Fetches Data:
PlayerViewModelrequestsGET /players. - Persistence: Data is saved to
SwiftDatafor offline viewing.
