Typelevel TodoMVC
Sandbox repo containing a Todo list app implemented using Typelevel libraries wherever possible.
Server code Copyright 2016 Dave Gurnell. Licensed Apache 2.
Client code adapted from the Diode TodoMVC example. Copyright 2015 Otto Chrons. Licensed MIT.
Running
The app is implemented in two parts:
- a server written using Finch, Circe, Doobie, and H2;
- a client written using ScalaJS, Diode, and ScalaJS-React.
To fire everything up:
-
Open two different terminals in the root directory of the project;
-
In one terminal type the following to start the API server running on
localhost:8080
:sbt 'todoJVM/run'
-
In the other terminal type the following to build the client:
sbt '~todoJS/fastOptJS'
-
The build for the client uses Li Haoyi's ScalaJS Workbench, which creates a second web server to serve the ScalaJS UI. Open the following web address in your browser to see the app:
http://localhost:12345/js/target/scala-2.11/classes/index.html