Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 build
Octocat-spinner-32 config
Octocat-spinner-32 logs
Octocat-spinner-32 project
Octocat-spinner-32 src
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Procfile
Octocat-spinner-32 README.md
Octocat-spinner-32 build.sbt
Octocat-spinner-32 pom.xml
README.md

Heroku Finagle Rogue App

This is a minimal Scala app targeting deployment to Heroku.
Its web layer is based on Finagle and its persistence layer on Rogue.
Basically, this app's a RESTful service API.

Dev

The app's persistence layer depends on MongoDB, so start it:

$ mongod

Additionally, Memcached is being used, so e.g.:

$ memcached -vv

To run the app locally via foreman:

$ gem install foreman
$ foreman start

Then point your browser to this URL:

http://localhost:5000/

Note: you need to build before (see below).

To compile + package Scala on-the-fly
via sbt 0.10:

$ sbt
> ~package

For compiling/packaging once just leave off the ~.

To make an assembly of all sbt project lib dependencies:

$ sbt
> assembly:package-dependency

Deploy

$ gem install heroku
$ heroku create --stack cedar
$ heroku addons:add mongolab
$ heroku config

Now, adjust src/main/resources/props/production.default.props according to MONGOLAB_URI.
Plus, rebuild application.jar (via sbt package) to include this config update.

$ heroku config:add LIFT_PROD=-Drun.mode=production
$ git commit -am 'Make it ready for production.'
$ git push heroku master

Then, make the project's lib dependencies JAR (via sbt assembly:package-dependency).

$ git commit -am 'Add lib dependencies.'
$ git push heroku master
$ heroku open
Something went wrong with that request. Please try again.