Skip to content

Latest commit

 

History

History
53 lines (27 loc) · 1.89 KB

monorepo.md

File metadata and controls

53 lines (27 loc) · 1.89 KB

Monorepo

This repository is a monorepo containing the source code required to run Creature Chess.

This project is split into a number of packages with separate responsibilities, and is managed using Yarn workspaces.

Structure

Apps

Apps are entry points for the project - they aren't necessarily a server or a client but they are a single "artifact" that can be produced from the project, rather than a library.

  • server-game

    This is a game server that runs the game logic and communicates with clients.

    It is also currently responsible for serving the client app, but this will be moved to a separate app in the future.

  • server-info

    This is an HTTP server that serves information related to user management.

  • web-game

    This is a web client that connects to the game server and allows users to play the game.

    This is not a server, rather the artifact is a static website that can be served by any web server.

  • web-menu

    This is a web client that contains the login and home screens.

    This is not a server, rather the artifact is a static website that can be served by any web server.

Modules

Modules are libraries that are used by the apps. They are grouped into a number of parents.

  • @creature-chess

    Contains shared code relating to the game.

  • @cc-web and @cc-server

    Contains shared code relating to the web and server apps respectively.

    This is split into two modules because the web and server apps have different dependencies.

  • @shoki and @shoki-web

    Contains shared code relating to the Shoki game engine.

    This is code which has been abstracted out of the game.