mikavilpas / squanmate

Square-1 trainer, analysis and general learning tool
17 stars 3 forks source link
clojurescript devcards figwheel html5-canvas quil react reagent

<img align="right" width="30%" src="https://rawgit.com/sp3ctum/squanmate/master/resources/public/readme/cubeshape-trainer.png">

logo

Squanmate is a Square-1 trainer, analysis and general learning tool.

You can run it with a modern web browser right now. Try it here! (the link will change with every release, so always open it from this readme file!)

Squanmate can help you:

Related Square-1 learning resources

Development instructions

Master: Build Status: master Develop: Build Status: develop

As for dependencies, you need a clojure development environment. Check out figwheel, then start hacking something!

    (do (require 'figwheel-sidecar.repl-api)
        (figwheel-sidecar.repl-api/start-figwheel!)
        (figwheel-sidecar.repl-api/cljs-repl))

Java 9

If you’re using JDK 9, you need to include the JVM options "--add-modules" "java.xml.bind" in your project.clj. Add it just to the existing one that the line fully reads :jvm-opts ["--add-modules" "java.xml.bind" "-Xmx1G"]. Do not commit this, as it breaks <Java 9 JVMs.

Development environments

You have the option of choosing between two development environments:

How to run tests

The tests are compiled to JavaScript and then run in a headless environment. To run the tests:

How to preview live changes on multiple devices

It's possible, thanks to figwheel magic, to hot reload your code changes e.g. on your main development desktop/laptop and your mobile device at the same time.

To do this,

Build production js

In the repl, run (build-once prod). The output file is tracked by git, so it will show up as changed in your git status. Commit the changed file to the repository so that the app works online with the newest version.