mBuilder is an ideal tool if you need to build flexible SMS apps and don’t want to spend lots of time building something custom from scratch.
mBuilder is a Ruby on Rails application. It uses/depends on:
- ruby (= 2.0.0-p353) specified in
.ruby-version
- rails (~> 3.2.17)
- mysql for storing applications logic
- delayed_job for running periodic tasks
- elasticsearch (>= 1.1) for storing application data
- nuntium for sending/receving sms messages. more
- guisso (optional) in order to integrate with InSTEDD's Single Sign-On. more
- resourcemap (optional) in order to read/write data to resourcemap collections. more
- Checkout
- Setup rails project as usual.
$ bundle && rails db:create db:schema:load
- Configure Nuntium (optional).
- Configure Guisso
A config/nuntium.yml
already exists that uses a development account binding to nuntium.instedd.org . Usually this is enough for developping/testing mBuilder in an isolated scenario.
If you want to use a nuntium gateway to send/receive real SMS you will need to setup a nuntium application with a public mbuilder hostname. Or host your own Nuntium server.
A config/guisso.yml
needs to be create. InSTEDD applications aim to work with a Single Sign-On servise at http://login.instedd.org . A guisso.yml
can be downloaded after an application is configured at the Single Sign-On server.
The most common scenario for development is to setup an application with hostname local.instedd.org:3000
and add the entry 127.0.0.1 local.instedd.org
to your /etc/hosts
. This will allow cookies at *.instedd.org
to be shared between login and mBuilder.
Yet mBuilder can be hosted with any hostname.
All InSTEDD application are also able to run isolated from a login server. In this mode users are managed by devise
docker-compose.yml
file build a development environment mounting the current folder and running rails in development environment.
Run the following commands to have a stable development environment.
$ docker-compose run --rm --no-deps web bundle install
$ docker-compose up -d db
$ docker-compose run --rm web rake db:setup
$ docker-compose up
To setup and run test, once the web container is running:
$ docker-compose exec web bash
root@web_1 $ rake
powered by capistrano. $ HOSTS=<server> cap deploy
.
Configuration files are symlinked in a shared path. check symlink_configs
task.