flowmar / houston-bootcamp-kablamazon

Command-line application that simulates a customer purchasing items using a SQL database to store inventory information.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kablamazon

Concepts: Node, MySQL

This project entailed creating a command-line application that simulates a customer purchasing items using a SQL database to hold inventory information.

## Overview

In this activity, you'll be creating an Amazon-like storefront with the MySQL skills you learned this week. The app will take in orders from customers and deplete stock from the store's inventory. As a bonus task, you can program your app to track product sales across your store's departments and then provide a summary of the highest-grossing departments in the store.

Make sure you save and require the MySQL and Inquirer npm packages in your homework files--your app will need them for data input and storage.

## Submission Guide

Make sure you use the normal GitHub. Because this is a CLI App, there will be no need to deploy it to Github Pages. This time, though, you need to include screenshots, a gif, and/or a video showing us that you got the app working with no bugs. You can include these screenshots or a link to a video in a `README.md` file.

* Include screenshots (or a video) of typical user flows through your application (for the customer and if relevant the manager/supervisor). This includes views of the prompts and the responses after their selection (for the different selection options).

* Include any other screenshots you deem necessary to help someone who has never been introduced to your application understand the purpose and function of it. This is how you will communicate to potential employers/other developers in the future what you built and why, and to show how it works. 

* Because screenshots (and well-written READMEs) are extremely important in the context of GitHub, this will be part of the grading.


## Instructions

### Challenge #1: Customer View (Minimum Requirement)

1. Create a MySQL Database called `Bamazon`.

2. Then create a Table inside of that database called `products`.

3. The products table should have each of the following columns:

 * item_id (unique id for each product)

 * product_name (Name of product)

* department_name

 * price (cost to customer)

 * stock_quantity (how much of the product is available in stores)

4. Populate this database with around 10 different products. (i.e. Insert "mock" data rows into this database and table).

5. Then create a Node application called `bamazonCustomer.js`. Running this application will first display all of the items available for sale. Include the ids, names, and prices of products for sale.

6. The app should then prompt users with two messages.

 * The first should ask them the ID of the product they would like to buy.
 * The second message should ask how many units of the product they would like to buy.

7. Once the customer has placed the order, your application should check if your store has enough of the product to meet the customer's request.

 * If not, the app should log a phrase like `Insufficient quantity!`, and then prevent the order from going through.

8. However, if your store _does_ have enough of the product, you should fulfill the customer's order.
 * This means updating the SQL database to reflect the remaining quantity.
 * Once the update goes through, show the customer the total cost of their purchase.

**Good Luck!**

## Copyright

Coding Boot Camp (C) 2016. All Rights Reserved.

Deployment

This is a command line application, and therefore does not have a displayable front-end. Instead, I have included screenshots of the application's functionality here

The source code is located here.


About the Author

Omar Imam

Find me on: GitHub Portfolio: Flowmar Connect with me on LinkedIn

About

Command-line application that simulates a customer purchasing items using a SQL database to store inventory information.


Languages

Language:JavaScript 100.0%