This project deals with developing an e-commerce website for Online Bookstore. It provides the user with a catalog of different books organized into categories available for purchase in the store. In order to facilitate online purchase a shopping cart is provided to the user. The payment mode of this system is through M-pesa where a customer receives an invoice through SMS and then pays using M-pesa. After the order has been processed the customer is notified through SMS and when the books will be delivered. Since the customers will not always be shopping for the books the project will also deal with the development of a module within the system to allow users to upload and share non copy written materials for free. The system is implemented using a 3-tier approach, with a backend database, a middle tier of Ruby on Rails and Ozeki SMS Server and a web browser as the front end client. The project objective is to develop a website where a customer can shop for books and pay with M-pesa and upload and share free materials.
== Welcome to Rails
Rails is a web-application framework that includes everything needed to create
database-backed web applications according to the Model-View-Control pattern.
This pattern splits the view (also called the presentation) into "dumb" templates
that are primarily responsible for inserting pre-built data in between HTML tags.
The model contains the "smart" domain objects (such as Account, Product, Person,
Post) that holds all the business logic and knows how to persist themselves to
a database. The controller handles the incoming requests (such as Save New Account,
Update Product, Show Post) by manipulating the model and directing data to the view.
In Rails, the model is handled by what's called an object-relational mapping
layer entitled Active Record. This layer allows you to present the data from
database rows as objects and embellish these data objects with business logic
methods. You can read more about Active Record in
link:files/vendor/rails/activerecord/README.html.
The controller and view are handled by the Action Pack, which handles both
layers by its two parts: Action View and Action Controller. These two layers
are bundled in a single package due to their heavy interdependence. This is
unlike the relationship between the Active Record and Action Pack that is much
more separate. Each of these packages can be used independently outside of
Rails. You can read more about Action Pack in
link:files/vendor/rails/actionpack/README.html.
== Getting Started
1. At the command prompt, start a new Rails application using the rails command
and your application name. Ex: rails myapp
2. Change directory into myapp and start the web server: script/server (run with --help for options)
3. Go to
localhost and get "Welcome aboard: You're riding the Rails!"
4. Follow the guidelines to start developing your application
== Web Servers
By default, Rails will try to use Mongrel if it's are installed when started with script/server, otherwi …