/assetkeeper

Project to track municipal assets

Primary LanguageRuby

Asset Keeper

The Asset Keeper project is a SaaS project to provide municipal asset management.

Components

The project is based on the following technology components:

  • Ruby On Rails 4

  • MongoDB using Mongoid ORM

  • Zurb Foundation

  • Devise authentication

  • Cancan authorization

  • Figaro environment variable utility

  • Rspec testing

  • Stripe.com subscription billing

  • Openshift PaaS hosting integration scripts

Getting Started

To get this web-based application framework up and running, you will need to do the following:

  1. Create an account on the Openshift service.

  2. Set up your local machine with the RedHat client tools

  3. 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
  4. Create a text file to hold environment variables for setting up email and default administrator login. We will call this file ‘variables.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"
  5. 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
  6. Generate a new secret token and copy the output of the following command.

    cd someapp
    rake secret
    
  7. Replace the secret token stored in the config/initializers/secret_token.rb file with the one generated from the rake secret command.

  8. Commit the merged changes

    git add --all
    git commit -m "Put your commit message here"
  9. Push the application

    git push
    
  10. Point your browser to the application URL. You should now be able to log into the application using the email and password that you entered in the application.yml file.

Copyright

The source code in this repository is under Copyright© Netsource Partners, LLC 2014