--
Galleon will be VLACS' competencies-centric education tracking system.
- Clone this repo, and
cd
into the repo directory. - Get immutant if you don't have it yet.
- Run
lein immutant install
. (The immutant plugin dep is inproject.clj
.)
- Run
- Add
[lein-voom "0.1.0-20140520_203433-gc1e2883" :exclusions [org.clojure/clojure]]
to your:plugins
in~/.lein/profiles.clj
. For example, this should work:{:user {:plugins [[lein-voom "0.1.0-20140520_203433-gc1e2883" :exclusions [org.clojure/clojure]]]}}
- Run
lein voom freshen
to get the latest commits for helmsman, dossier, etc. - Run
lein voom build-deps
to pull and build those dependencies and install them in your ~/.m2/ tree.
- Run
cp galleon-conf-dist.edn galleon-conf.edn
- Edit
galleon-conf.edn
as necessary. - Deploy galleon to immutant:
lein immutant deploy
- Start up immutant in another terminal with
lein immutant run
. Watch for the nREPL connection port for your deployment of galleon, though immutant sets .nrepl-port in your project root dir correctly so this isn't essential.- Connect from the CLI:
lein repl :connect
(automatically uses .nrepl-port) - Connect from emacs:
M-x cider
and accept the defaults.
- Connect from the CLI:
- Test your nREPL to be sure you're in immutant:
(util/in-immutant?)
immutant/init.clj
initializes the project, so it's already running. But you can(reset)
it if you like:(reset)
will reload your code without deleting the Datomic database.(reset-and-delete-db! :delete-db)
will reload your code AND DELETE THE DATOMIC DATABASE.
- See REPL-code examples in
(comment ...)
indev/user.clj
.
You can build the necessary dependencies for galleon and run the tests at the same time.
$ ./test.sh
Note that the app deploys to /galleon/ to allow for multiple apps to be deployed in one immutant.
The queues in the gangway namespace use token based authentication, so you must include an Authorization header with your HTTP request.
Authorization: Token thisiswhereyourtokengoes
In order your requests to go through you must generate a token for yourself. Theres a handy function for this available from the repl in the user namespace.
Fire up the application, then connect to it with your REPL, once connected you should be able to run:
user=> (add-queue-token! "Owner Name" 3)
The 3 in the above command represents the number of months before the token expires.
Once you have your token you can send JSON requests to any of the queue endpoints.