Skip to content

Latest commit

 

History

History
19 lines (18 loc) · 1.67 KB

learning-material.md

File metadata and controls

19 lines (18 loc) · 1.67 KB

Learning material

These are the tools used by the template, you don't need to master them all but being familiar with them definitely helps:

  • Scala, we use Scala 2.13 because it has great tooling support, we'll eventually upgrade to Scala 3.
  • Scala.js powers the frontend side.
  • Scalablytyped generates the Scala facades to interact with JavaScript libraries by converting TypeScript definitions to Scala.js facades.
  • yarn (v1) as the JavaScript package manager.
  • React as the view library.
  • Slinky being the Scala wrapper for React.
  • Webpack to bundle the web apps.
  • Scalajs bundler being the Scala wrapper for Webpack.
  • Material UI v3 as the Material UI framework on top of React (hoping to upgrade to v5 when Scalablytyped supports it).
  • Play Framework as the backend framework, used for the REST API.
  • sttp as the REST API client.
  • react-router is the frontend routing library.
  • play-json is the JSON library.
  • ansible as the tool for deploying everything to a VM.
  • nginx as the reverse proxy for handling the internet traffic, as well as the authentication mechanism for admin endpoints.
  • GitHub actions integration so that you have a way to get every commit tested.