The world's largest metal limericks archive on the Web.
This is just meant to be a live demo of a Clojure phonetics library (https://github.com/eihli/phonetics) and a Hidden Markov Model use-case for a Tightly-packed Trie (https://github.com/eihli/clj-tightly-packed-trie).
I also borrowed some functionality from a NLP/rhyme-related codebase that is not yet ready for release (https://github.com/eihli/prhyme).
* How To Initialize Development Environment
* How To Initialize Development Environment
@ -18,8 +21,7 @@ See [[file:web/README_WGU.org][the WGU Readme]].
1. Run ~./db/run.sh && ./kv/run.sh~ to start the docker containers for the database and key-value store.
1. Run ~./db/run.sh && ./kv/run.sh~ to start the docker containers for the database and key-value store.
a. The ~run.sh~ scripts only need to run once. They initialize development data containers. Subsequent development can continue with ~docker start db && docker start kv~.
a. The ~run.sh~ scripts only need to run once. They initialize development data containers. Subsequent development can continue with ~docker start db && docker start kv~.
2. Start a Clojure REPL in Emacs, evaluate the ~dev/user.clj~ namespace, and run ~(init)~
2. Start a Clojure REPL in Emacs, evaluate the ~dev/user.clj~ namespace, and run ~(init)~
3. Visit ~http://localhost:8000/wgu~
3. Visit ~http://localhost:8000~
* How To Run Software Locally
* How To Run Software Locally
@ -32,21 +34,29 @@ See [[file:web/README_WGU.org][the WGU Readme]].
1. Run ~./db/run.sh && ./kv/run.sh~ to start the docker containers for the database and key-value store.
1. Run ~./db/run.sh && ./kv/run.sh~ to start the docker containers for the database and key-value store.
a. The ~run.sh~ scripts only need to run once. They initialize development data containers. Subsequent development can continue with ~docker start db && docker start kv~.
a. The ~run.sh~ scripts only need to run once. They initialize development data containers. Subsequent development can continue with ~docker start db && docker start kv~.
2. The application's ~jar~ builds with a ~make~ run from the root directory. (See [[file:../Makefile][Makefile]]).
2. The application's ~jar~ builds with a ~make~ run from the root directory. (See [[file:../Makefile][Makefile]]).
3. Navigate to the root directory of this git repo and run ~java -jar darklimericks.jar~
3. Navigate to the root directory of this git repo and run ~java -jar web/darklimericks.jar~
4. Visit http://localhost:8000/wgu
4. Visit http://localhost:8000
* Development
* Development
Requires [[https://github.com/tachyons-css/tachyons/][Tachyons CSS]]. There is a symlink in ~web/resources/public~ to the pre-built ~tachyons.css~ and ~tachyons.min.css~ found in the repo.
Requires [[https://github.com/tachyons-css/tachyons/][Tachyons CSS]]. There is a symlink in ~web/resources/public~ to the pre-built ~tachyons.css~ and ~tachyons.min.css~ found in the repo.
Build ~.jar~ with ~clojure -X:depstart uberjar :jar prhyme.jar~.
Build ~.jar~ with ~clojure -X:depstar uberjar :jar prhyme.jar~.
* Deployment
Since I'm developing this independently, it's not a very robust deployment system.
It's nice to have some parts of the repo available on the server; the db/kv scripts for example.
But obviously the album images and the data in the db/kv are going to be different between local and prod.
You can use ~rsync~ with ~--exclude~ to only sync over the code bits.