Skip to content

JH108/TicTacToe

Repository files navigation

TicTacToe

Built with Kotlin Multiplatform, Ktor, Jetpack Compose, Swift UI, and Kotlin React Wrapper.

Status

  • Backend Implemented
  • Web Frontend Implemented
  • Android Frontend Implemented
  • Android Frontend "best practices"
  • iOS Frontend Implemented
  • Backend "productionized"

Diagrams

High Level Architecture

flowchart TD
%% Nodes
    subgraph WebApp["Web App"]
        WA("Web Application")
        SKM{{"Shared Models"}}
    end

    subgraph AndroidApp["Android App"]
        AA("Android Application")
        AndroidDB[(Database)]
        SKM1{{"Shared Models"}}
    end

    subgraph iOSApp["iOS App"]
        IA("iOS Application")
        DB[(Database)]
        SKM2{{"Shared Models"}}
    end

    subgraph KtorBackend["KTOR Backend Service"]
        KAPI(["Ktor API"])
        BackendDB[(Database)]
        SKM3{{"Shared Models"}}
        KC(["Ktor Client"])
    end

%% Define Edges
    iOSApp --> KtorBackend
    AndroidApp --> KtorBackend
    WebApp --> KtorBackend
    WA <--> KC
%% Define Styling
    style WA fill: #FF69B4, stroke: #FF69B4, color: black
    style AA fill: #00C853, stroke: #00C853, color: black
    style IA fill: #2962FF, stroke: #2962FF
    style SKM fill: #FFA500, stroke: #FFA500, color: #000
    style SKM1 fill: #FFA500, stroke: #FFA500, color: #000
    style SKM2 fill: #FFA500, stroke: #FFA500, color: #000
    style SKM3 fill: #FFA500, stroke: #FFA500, color: #000
    style KAPI fill: #777, stroke: #000
    style KC fill: purple
    style BackendDB fill: #FFA500, stroke: #FFA500, color: black
    style DB fill: #FFA500, stroke: #FFA500, color: black
    style AndroidDB fill: #FFA500, stroke: #FFA500, color: black
Loading

About

A simple TicTacToe game built with KMP, SwiftUI, Jetpack Compose, and React with Ktor for a backend and Postgres to save the games.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages