Skip to content

Latest commit

 

History

History
138 lines (124 loc) · 2.41 KB

overview.md

File metadata and controls

138 lines (124 loc) · 2.41 KB

Code Chessbuddy

MOBX Observables

  • Config - orientation, settings
  • Rendering - screensize
  • Players - list of bots and players
  • GameState - playing or paused
  • Game - the game updates when move is done
  • GameHistory - previous games updates when game completes
  • Server - online game history storage
  • Helper - gets CP and Stockfish suggestions
  • TimeKeeper - updates timer every second of play
  • RefreshTimer - 100ms refresh, due to ChessBoard bug
  • Messages- Message box, prompts
---
title: Chessbuddy observed state
---
classDiagram
    App <|-- render : darkMode 
    Board <|-- render : rotation
    Board <|-- config : fen
    CP <|-- analyzer : cp
    CP <|-- render : showCP
    FenInfo <|-- play : log
    PlayerInfo <|-- play
    Ticker <|-- clock : log

    CP <|-- analyzer : cp


    class App{
        boolean darkMode
    }
    class Board{
        string FEN
        int rotation
    }
    class CP{
    }
    class FenInfo{
        string log
    }
    class PlayerInfo{
    }
    class Ticker{
    }

    class play{
       string log
    }
    class render{
       boolean darkTheme
       int rotation
       boolean showCP
    }
    class analyzer{
       int cp
    }
    class config{
        boolean showConfig
        string listMode
        int showTab
    }
    class message{
        boolean show
    }
    class clock{
        string clockText
    }
Loading
---
title: Chessbuddy Storage data model
---
erDiagram
    Chessbuddy ||--o{ History : games
    Chessbuddy ||--|| Render : render
    Chessbuddy ||--|| Config : config

    Config ||--|| Game : game
    Config ||--|| Display : display
    Config ||--o{  Human : humans
    Config ||--o{  Bot : bots
    Config ||--o{ Clock : clocks

    Human{
        string name
        string email
    }
    Bot{
        string name
        string engine
        int skill
        int time
        int depth
    }
    Clock{
        String name
        TimeRule[] time
    }
    Game{
       string white
       string black
       string clock
    }
    Display{
       boolean showFacts
       boolean showHints
       boolean playCorrect
       boolean playMistake
       boolean playWinner
    }
    Render{
       boolean darkTheme
       int rotation
       boolean showCP
    }
    Chessbuddy{

    }
    History{
    string id
    Date date
    string white
    string black
    number wtime
    number btime
    string[] log
    string fen
    }
Loading