Skip to content

Latest commit

 

History

History

client

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

boards-client

The client subproject is responsible for rendering and handling user input.

Libraries

boards-client uses the following libraries, which will be installed automatically by sbt:

Directory Structure

  • views/ for top-level views, each corresponding to an entire page of the website.
  • components/ for reusable web components created using Laminar.
  • util/ for assorted helper functions.
  • imports/ for collections of standard import groups to avoid repeating them in every file.

Perhaps the most interesting view is that for the game itself, along with its constituent components.

Architecture

This subproject is compiled exclusively to Javascript using Scala.js, and is served to the client's browser. A single .js file is produced for the entire application. All pages use the same template, which does nothing but delegate to the appropriate client-side view. All rendering is done on the client, the server only provides code and data.