A skeleton project for writing Erlang web applications using Cowboy, using Google Web Starter Kit and Grunt for building and Bower for front-end dependency management.
erlydtl is included and used for templating,
templates compiling as part of the grunt compile
step using the rebar erlydtl
compilation plugin.
For the Erlang parts of the project, rebar is used for dependency management and building, and relx is used for release management.
Note: This is mainly to demonstrate how to get a working Cowboy app going, serving templated HTML while using modern front-end tools. At best, you should use it to figure out how these things are connected and how to get an app up and going. It was not intended to be a supported framework for development. That being said if you find errors or problems, please open an issue.
Grunt is used for building in the development environment. To get started using grunt, make sure that nodejs is installed.
BecauseWeb Starter Kit uses SASS for CSS, you'll need to work through that installation as well.
Setup Steps:
# Ensure that sass is installed for Google Web Starter Kit
sudo gem install sass
# Ensure that grunt and it's cli runner are installed in the global scope
npm install -g grunt grunt-cli bower
# Install initial JavaScript project dependencies
npm install
# Install erlang dependencies
grunt deps
# Just use the default grunt action
grunt compile
# Run the application
grunt run
With the application running, you chould be able to access it at http://localhost:8080.
Finally to create the stand-alone release of your application, use grunt release
and
the distribution will be placed under the _rel
directory.
- clean: Clean files and folders
- deps: Install erlang and javascript dependencies
- compile: Compile the application and web-starter-kit code
- run: Run the application interatively in the console
- release: Build the release distribution