An app to handle event registrations
Ruby HTML CSS Puppet JavaScript Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.capistrano
app
bin
certs
config
db
deploy
doc
lib
log
public
puppet
script
spec
vendor
.env.example
.gitignore
.gitmodules
.rspec
.rubocop.yml
.travis.yml
Capfile
Gemfile
Gemfile.lock
Guardfile
Procfile
Procfile.dev
README.md
Rakefile
Vagrantfile
circle.yml
config.ru
dev.sh
dump.rdb
setup.sh

README.md

Event Registrations

Build Status Dependency Status Code Climate Test Coverage security

An app to handle event registrations. Intended to be lightweight and rest queriable to allow integration with third party systems.

Feature requests, bug reports and questions are to be sent to GitHub's issue system: https://github.com/agile-alliance-brazil/event_registrations/issues

Development

Just clone this repo (including submodules so ensure you run git clone https://github.com/agilealliancebrazil/submissions.git --recursive or if you already cloned, use git submodule foreach git pull origin master), enter it and run ./dev.sh. This should be enough to install whatever is needed on your machine and start guard to run specs and front end tests.

If you don't want to mess with your own machine, an option to use Vagrant for development is available. Download Vagrant 1.8.1 and Virtual Box, install both and then run:

vagrant destroy -f dev && vagrant up dev && vagrant ssh dev

Once inside the vagrant box, run /srv/apps/registrations/current/dev.sh. Note that the code will be sync'ed between the virtual machine and your machine so you can still use your favorite editor and handle version control from your machine if you prefer.

Deployment

Provisioning is handled by Puppet 4.3.1. It can be tested with Vagrant 1.8.1.

Deployment is handled by Capistrano. And can also be tested using the vagrant set up.

To test, run:

vagrant destroy -f deploy && vagrant up deploy && bundle && bundle exec ruby script/first_deploy.rb vagrant 10.11.12.14 staging certs/insecure_private_key

Note that Capistrano uses the code currently available in github so you need to push to test it. You can set up config/deploy/vagrant.rb to use a different branch with set :branch, 'your_branch'.

Deploying to a cloud

If you're deploying to any cloud, after you've created your virtual machine, add config/<vms_ip>_config.yml, config/<vms_ip>_database.yml, certs/<vms_ip>_app_key.pem, certs/<vms_ip>_app_cert.pem and certs/<vms_ip>_paypal_cert.pem. You can, optionally, also add certs/<vms_ip>_server.crt, certs/<vms_ip>_server_key.pem and certs/<vms_ip>_server_key.pem to set up apache to work with SSL. Then run:

bundle && bundle exec ruby script/first_deploy.rb <configured_sudoer_user> <vms_ip> <type> <ssh_key_to_access_vm>

Where your sudoer user is a user in that machine that has sudo right (no password required), vms_ip is the vm IPv4 addres, type is either 'production' or 'staging' and the ssh key is the path in your machine to the ssh key that allows non password protected access to your cloud VM.

Digital Ocean

If you're deploying to Digital Ocean specifically, go to your API settings, request a Personal Access Token, save it and run:

export TOKEN=<your_token>

From then on, you can use:

bundle && bundle exec ruby deploy/digital_ocean/new_machine.rb

Integration service bus for Agile Alliance membership checking

Feedback

If you have a bug or a feature request, please create a issue here:

https://github.com/agile-alliance-brazil/event_registrations/issues

Team

Thanks to everyone involved in building and maintaining this system: