FantasyPremierLeague  by joreilly

Fantasy Premier League app across platforms

Created 4 years ago
558 stars

Top 57.5% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a Kotlin Multiplatform (KMP) sample application demonstrating the use of Jetpack Compose, Compose for Desktop, and SwiftUI for building cross-platform UIs. It targets Android, iOS, and Desktop environments, showcasing a unified codebase for client applications and an optional MCP server for data exposure.

How It Works

The core of the project leverages Kotlin Multiplatform to share business logic and data layers across different client platforms. UI implementations are provided using Jetpack Compose for Android, SwiftUI for iOS, and Compose for Desktop for native desktop applications. Ktor is used for network requests to the Fantasy Premier League API, and Room handles local data persistence.

Quick Start & Requirements

  • Install/Run: Build and run via Gradle tasks for each platform (e.g., ./gradlew installAndroid, ./gradlew runDesktop).
  • Prerequisites: Xcode 14+ is required due to iOS 16 features (e.g., Swift Charts).
  • MCP Server: Requires running shadowJar task and configuring the mcpServers in Claude Desktop with the path to the generated JAR.
  • Links: Screenshots, MCP Server Integration, Other KMP Samples

Highlighted Details

  • Demonstrates Jetpack Compose, Compose for Desktop, and SwiftUI integration within a single KMP project.
  • Includes an MCP Server module using the Kotlin MCP SDK to expose player/fixture data.
  • Showcases using Room for local persistence in shared KMP code.
  • Features posts on advanced topics like Realm persistence, Swift Async Algorithms, and chart display across platforms.

Maintenance & Community

This is a personal sample project by joreilly, part of a larger collection of KMP samples. No specific community channels or active maintenance status are detailed.

Licensing & Compatibility

The project is released under the Apache 2.0 license, permitting commercial use and integration with closed-source applications.

Limitations & Caveats

The project explicitly requires Xcode 14 or later due to its use of iOS 16 features, limiting compatibility with older macOS or iOS development environments.

Health Check
Last Commit

5 days ago

Responsiveness

1 day

Pull Requests (30d)
20
Issues (30d)
0
Star History
6 stars in the last 30 days

Explore Similar Projects

Starred by Tobi Lutke Tobi Lutke(Cofounder of Shopify), Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), and
24 more.

open-webui by open-webui

0.6%
110k
Self-hosted AI platform for local LLM deployment
Created 1 year ago
Updated 1 day ago
Feedback? Help us improve.