Code running revveries.com, a photography portfolio and private CMS.
Arguably over-engineered as this was intended as a learning project and chance to deploy several new technologies that I hadn't worked with previously.
/api- Scalatra REST API using Slick to interact with a PostgreSQL instance. Has full test coverage under
./api/src/test. Generates a dockerized
/app- React SPAs responsible for the UI of the photography portfolio and CMS. Uses Browserify for bundling, Babel for ES6, and Reflux for state managment.
/db- Dockerized PostgreSQL instance used for gallery and picture persistence.
/www- Dockerized Nginx proxy used for a reverse-proxy and static asset cache.
/kube- Kubernetes configuration files used for deployment. revveries.com is currently hosted on Google Container Engine.
Build & Run
$ npm install $ gulp $ ./sbt > container:start
Run the Tests
$ gulp spec $ ./sbt > test
$ ./api/sbt docker:publish
$ cd ./app && gulp deploy