- Copy
config/database.yml.pgapp
and rename copy toconfig/database.yml
- Copy
.sample.env
and rename copy to.env
$ bin/setup
-
Install npm packages
$ npm install
-
Install rubygems
$ bundle install
-
Create database
$ bundle exec rake db:create db:migrate
-
Add sample data
$ bundle exec rake setup_sample_data
Note: If you have issues installing the capybara-webkit gem, follow these instructions: https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit
To start the server for Rails development:
$ foreman start -f Procfile.static
To start the server for React development:
$ foreman start -f Procfile.dev
We use minitest for testing.
# to execute all tests
rails test
# to execute tests in models
rails test:models
# to execute tests in controllers
rails test:controllers
# running an individual test file
rails test test/models/comment_test.rb
- Create environment variables and values in Heroku
- Add environment variables to config/secrets.yml
- We currently use Bootstrap 3, but are switching to Semantic-UI
- Do not use Coffeescript, only Javascript
- Turbolinks 5 is enabled
- Do not use IDs or classes for selectors. Use
data
attributes instead
- We use Puma in all environments
- For Email:
- Mandrill to send messages
- Mailgun to receive messages to
agentbright.me
accounts - Using Mailgun - Nylas Cloud to sync with user email accounts
- We use memcached for caching
- Simpleform for forms - Using Simpleform in AgentBright
- Delayed Job to handle background jobs
- CircleCI for continuous testing
- Devise for authentication
- Administrate as an admin framework
- Hosted on Heroku
- PostgreSQL database
- Amazon Cloudfront as an asset CDN
- Amazon S3 for file uploads
- Caching via memcached on Memcached Cloud
- Monitoring with Honeybadger