SwiftUI app focused on Fiorentina content across news, live match coverage, standings, fixtures, and streaming radio/video.
- Five-tab experience:
News,Calendario,Classifica,FirenzeViola,LadyRadio - News articles API integration for article list, search, and article details
- Live match banner + detailed live center (summary, commentary, lineups)
- Unified playback system for radio, live video, inline audio/video, lock screen metadata, and remote commands
- Image-rich article rendering with markdown parsing, rounded body images, and fullscreen Quick Look previews
- Lightweight persistence and caching for fast startup (
Sharing+ file cache +AppStorage)
| News | Article | Calendario |
|---|---|---|
![]() |
![]() |
![]() |
| Live | Classifica | Radio |
|---|---|---|
![]() |
![]() |
![]() |
The production APIs used by this app are private.
To run the app with your own backend/services, replace endpoint, auth, and stream values in:
Viola/Shared/PrivateServiceConfig.swiftConfig/Info.plist(NSAppTransportSecurityexception domains, if your stream hosts require it)
- iOS 26.1 or later
- Xcode 26 or later
- Swift 6.2
git clone git@github.com:n3d1117/Viola.git
xed Viola- XMLCoder: XML decoding for news/content APIs
- NukeUI: async image loading and caching in SwiftUI
- Demark: markdown-to-attributed text rendering support
- Textual: structured text/image attachments for article content
- Dependencies: dependency injection
- Sharing: shared state + persistent caching
- Routing: lightweight in-app routing/navigation helpers





