This is a lyrics engine application. Utility to discover new songs you might like, based on your favorite songs lyrics.
To bootstrap development process, there is a prepared environment setup. It is based on Vagrant Ubuntu image with all the required tools in place, such as Java, Scala, mongodb and etc., set up by Ansible.
To initialize the environment run:
vagrant up dev
vagrant ssh dev
The first run might take some time, while all the packages are installed. Subsequent runs should be much faster.
All environment configurations is done using Ansible. All future updates should be reflected there, to maintain the immutable container state.
In case some updates to configuration were made, you can run ansible-playbook
script from within the virtual machine or, alternatively, you can pass --provision
flag to Vagrant.
If you don't have the dev
virtual machine running yet it would be:
vagrant up dev --provision
or, if you already have it running:
vagrant reload dev --provision
For more information check Vagrant and Ansible documentations.
Application is built using sbt
and sbt-native-packager
plugin.
To build it run:
sbt stage
The resulting application will be placed in target/universal/stage/ directory.
To test it run:
sbt test
To run the application execute:
sbt run
By default it will start on port 8080, which can be overridden by defining appropriate $PORT
environment variable.