Well it appears that I was wrong. I have managed to produce an application that integrates booking a cab with an authentication mechanism. However even though I have successfully melded these 2 attributes together the sum of the parts still does not make an appropriate production application.
In order for this application to be production ready a large number of enhancements would need to be developed. This would include the following:
- save bookings to database
- allow retrieval of previous bookings so user can review booking history
- allow for payments
- have comprehensive test suite
- etc
Deployment
According to (Hartl, chapter 17) Mongrel is suitable to use as a webserver for Production use with a ROR application. Currently, there are only two things that everyone seems to agree on: Use Mongrel as the Rails application server, and deploy to some flavor of Unix (most commonly Linux). The rest is up to you. One option is to use a shared host. Because of the explosive growth of Rails, there are now many shared host options, and a web search for "Rails shared host" provides a cornucopia of possibilities. If you're deploying to your own server, they recommend running Apache in front of a single Mongrel process to start.
After locating the server, to deploy you need to do the following:- Create the production database
- specify the production database details in the database.yml file
- migrate the application to production
rake db:migrate RAILS_ENV=production
(Hartl, ch17) recommends the following to set up a production Rails application:
- Linux/Apache/Mongrel for deployment
- Caching mod_proxy_balance and shared nothing and for scaling
- Subversion or darcs for version control
- Capistrano for automated deployment and rollback
Hartl, M & Prochazka, A (2008). RailsSpace: Building a Social Networking Website with Ruby on Rails, Pearson Education
No comments:
Post a Comment