BukManiac/Design
CS290F Fall 2006 - UCSB Computer Science - Thorsten von Eicken
BukManiac -- Your Search for Books ends here !
Home | Overview | Design | Critical Paths & Analysis | Optimizations | Scaling the Database | Scaling the Application | Plugging in the Cache
Models/Tables
We have used the following tables for our database.
Books -- This table stores book information like Title, Author, Publisher, Edition, Book Description, Price, ImageURLs and Average Rating of the book.
Reviews: This table stores book's review information like Customer ID(FK),Book_id(FK), Date, Customer name , Review, Rating, Summary
Users -- This table stors data about the registerd user like Name, Login, Password, Email, Billing address, Shipping Address, Credit Card Information etc.
Wishlists -- This table stores Wishlist of a user ,i.e,books of his interest for further reference.It contains User_id(FK),Book_id(FK)
Orders -- This table stores orders which have been checked out by the customer. It stores information like User_id, Order Total, Order Status, Date, Due_date , Ship_cost
Orderlines -- This table store items corresponding to each line in an order. Each row in this table has information like Order ID, Book_id, Quantity, Total (for that book)
Controllers
Book -- Methods for searching books, displaying results, adding reviews to a book, adding book to wishlist, adding book to cart, Checking out cart. This model can be accessed by users (only for searching, adding reviews) and by administrator (adding and editing books)
User -- This Controller consist of actions that are invoked by the User,e.g- change his account details, add book to his Cart /Wishlist, view his previous orders and details of a particular order.It can be also accessed by the administrator to delete/view/edit users
Account -- This Controller contains actions for User Signup, Login, Logout and check if existing user is logged in or not.
Order -- This Controller is used by the Administrator to view accounts - Date_of_order, Due_date ,Status, Total, User_id
Orderline -- This Controller again is used by the Administrator to view/delete/edit the books belonging to a each single Order.
Review -- This Controller is also used by the Administrator to view/delete/create review for any existing book.
