The Ignition project is a small effort to provide a Quickstart framework for building online web-based subscription services. This particular project is targeted to support Openshift deployment.
The project is based on the following technology components:
-
Ruby On Rails 4
-
MongoDB using Mongoid ORM
-
Twitter Bootstrap
-
Devise authentication
-
Cancan authorization
-
Figaro environment variable utility
-
Rspec testing
-
Stripe.com subscription billing
-
Openshift PaaS hosting integration scripts
We are using Travis CI for this project handle continuous integration services. The build status is shown below for:
-
Development Branch - <img src=“https://travis-ci.org/alim/ignition.png?branch=development” alt=“Build Status” />
-
Master Branch -
To get this web-based application framework up and running, you will need to do the following:
-
Create an account on the Openshift service.
-
Set up your local machine with the RedHat client tools
-
Create a rails application and check the results. You can name the application whatever you want. In the example, we use “someapp”.
rhc app create someapp ruby-1.9 mongodb-2.2 rockmongo-1.1 --from-code https://github.com/alim/ignition.git rhc app show-app someapp
-
Create a text file to hold environment varilables for setting up email and default administrator login. We will call this file ‘varaibles.txt’. This file should not be included in your git repository. Example file contents are below:
SMTP_HOST=smtpout.someserver.net SMTP_PORT=3535 SMTP_DOMAIN=somedomain.com SMTP_USER=someuser@somedomain.com SMTP_PASSWORD=somepassword ADMIN_FIRST_NAME=Some ADMIN_LAST_NAME=Admin ADMIN_PHONE=800.555.1212 ADMIN_EMAIL=sadmin@example.com ADMIN_PASSWORD=somepassword TEST_API_KEY='your stripe test api/private key' TEST_PUB_KEY='your stripe test public key' PROD_API_KEY='your stripe production api/private key' PROD_PUB_KEY='your stripe production public key' export CONTACT_EMAILBOX='operations@example.com' export CONTACT_FROM='no-reply-mailbox@example.com' export CONTACT_SUBJECT='New Contact Request' export GROUP_FROM_EMAIL="no-reply-mailbox@example.com" export GROUP_EMAIL_SUBJECT="Group Membership Notification"
-
Run the rhc command to install these environment variables for your application. You can then destroy the text file you created in the previous step.
rhc set-env /path/to/variables.txt -a someapp
-
Generate a new secret token and copy the output of the following command.
cd someapp rake secret
-
Replace the secret token stored in the config/initializers/secret_token.rb file with the one generated from the rake secret command.
-
Commit the merged changes
git add --all git commit -m "Put your commit message here"
-
Push the application
git push
-
Point your browser to the applicatin URL. You should now be able to log into the application using the email and password that you entered in the application.yml file.
The Ignition project is available as GPLV3 licensed software. For more information on this license see here