Sharpen your programming skills.
Upcase is a Rails application deployed to Heroku. This project is in maintenance mode and is not being actively developed.
This project is now following Sandi Metz's Rules.
You can read a description of the rules here.
All new code should follow these rules. If you make changes in a pre-existing file that violates these rules you should fix the violations as part of your work.
Get the code.
% git clone [email protected]:thoughtbot/upcase.git
Setup your environment.
% foreman start
Verify that the app is up and running.
% open http://localhost:5000/upcase
We are using
https://github.com/johnbintz/rack-livereload. When you save a file, the open browser will automatically refresh, and you can view your changes.
bundle exec guardto start the guard server to auto refresh your browser.
In order to avoid bottlenecks and confusion:
CI is hosted with CircleCI. The build is run automatically whenever any branch is updated on Github.
Run test suite before committing to the master branch.
Reset development data as needed.
% rake dev:prime
Dump production data into your local db. (Note that you need to drop your local database first).
% rake db:drop % heroku pg:pull DATABASE_URL upcase_development -r production
To test that adding/removing GitHub users works, use the GitHub user "cpyteltest".
To test integration with AWS S3, set the following environment variables:
AWS_BUCKET AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY
CircleCI deploys to staging automatically when a build passes on master.
Once your changes have been verified on staging, deploy to production:
We override the recipient on staging to be
ENV['EMAIL_RECIPIENTS']so that no one else can receive email from the staging server.
We have it set to
To set it:
heroku config:set [email protected],[email protected] -r staging
To see what the current recipient is:
heroku config:get EMAIL_RECIPIENTS -r staging
To preview how emails look in the browser without having to send them (via staging) you can visit the rails mailer preview index and navigate to the emails that have preview classes implemented.
To preview the emails point your browser to
http://localhost:5000/rails/mailersand select the mailer there.
Check the Upcase processes repository for guides on where to find and how to do common tasks like customer support, content production, related repositories and trello boards, and others.
Register on the Upcase site.
Update your user.
% heroku run console -r production % user = User.find_by_email('[email protected]') % user.admin = true % user.save! % exit
rake dev:primetask will create user accounts that you can test with in development mode.
This application is maintained and funded by thoughtbot, inc
Thank you to all the contributors!
The names and logos for Upcase and thoughtbot are registered trademarks of thoughtbot, inc.
This application is Copyright © 2007 thoughtbot, inc.
If you submit a Contribution to this application's source code, you hereby grant to thoughtbot, inc. a worldwide, royalty-free, exclusive, perpetual and irrevocable license, with the right to grant or transfer an unlimited number of non-exclusive licenses or sublicenses to third parties, under the Copyright covering the Contribution to use the Contribution by all means, including but not limited to: