Skip to content

PortoCode/LiveBoard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

LiveBoard

iOS app that displays live sports events with real-time updates.

Features

  • Token-based authentication (login/logout)
  • Headlines carousel with auto-scroll (5s interval)
  • Live games list with elapsed time updated every second
  • Automatic data polling every 10 seconds
  • Odds display for headline events
  • Offline detection with automatic retry
  • Game phase status for non-live events

Architecture

  • UIKit with programmatic views (ViewCode)
  • MVVM — ViewControllers bind to ViewModels via Combine
  • Protocol-Oriented — abstractions for networking (APIClient, APIRoute) and reachability (Reachable)
  • Dependency Injection — dependencies provided through initializers
  • Combine — reactive state, timers, and connectivity monitoring

Project Structure

LiveBoard/
├── App/                    # AppDelegate, SceneDelegate
├── Core/
│   ├── Extensions/
│   ├── Networking/         # API client, routes, error handling
│   ├── Protocols/          # ViewCodable, Reachable
│   └── Theme/              # Colors, layout, metrics
└── Scenes/
    ├── Login/              # Login screen (View, ViewController, ViewModel)
    └── LiveGames/          # Main screen, cells, and models

Requirements

  • iOS 15.0+
  • Xcode 15+
  • Swift 5.9+

About

iOS app that displays live sports events with real-time updates

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages