01.11.16 - 05.08.16
Biag's Online Store
Objective: Create an online store with a shopping cart and a database data store
pastdue
Products and Users are stored in a database | 10 pts |
Products are listed and have an add to cart button or link | 10 pts |
Products have a details (show) page with an add to cart button or link | 10 pts |
New products can be added (includes validation) | 10 pts |
Products can be edited (includes validation) | 10 pts |
Products can be destroyed | 10 pts |
Users CRUD is present and fully functioning | 10 pts |
All user pages and products new, edit, and destroy require authentication to access | 10 pts |
Add to cart buttons or links function | 10 pts |
Cart management page functions | 10 pts |
Total | 100 pts |
Biag, your least favorite client, has a new project for you and the price he's offering is too good to turn down (100pts!). He also decided that databases aren't witchcraft and thinks one should be used this time.
For this project Biag has decided that he wants to be able to sell products online. The products he wants to sell will be varied but all will have a name, a description, and a price (see attached SQL statements).
Biag would like to have full control over what products are in the database but still isn't very good with computers so a full, friendly CRUD will need to be created for the products that Biag can use to manage his store.
The CRUD for products will need to support authentication so that anyone can access the products list and details pages but only authenticated users can access the new, edit, and destroy pages. That, of course, means that you'll also need an authenticated users CRUD for Biag to use to manage who can login.
Everywhere that a product is shown to a regular user there should be an add to cart button that the user can use to add a product to their shopping cart (sessions make good shopping carts).
The application should also include a page that allows the user to view their cart and the current total for all of the products that are in the cart. Users should also be able to remove items from their cart. It's not necessary to provide the user with a quantity for items in their cart but they should be able to add the same product to the cart more than once.
Biag isn't sure yet how he will be handling credit card charges so he doesn't want to talk about the checkout functionality yet. For the time being, if he can manage products and users, and users can build and work with a shopping cart, Biag will be happy.