Skip to content

Msadek02/Bamazon

Repository files navigation

Bamazon

Overview

A Node.js & MySQL digital storefront. This is a command line Node app that mimics a beloved online retailer.

Node.js

Three JavaScript files replicate the basics of a simple ecommerce engine:

  • BamazonCustomer.js (See example here)

    • Receives orders from customers via the command line and interfaces with mySQL to deplete stock from the store's inventory.
  • BamazonManager.js (See example here)

    • Mimics the basics of a warehouse management system, providing managers with a list of options to view stock and adjust inventory.
    • A sample of the menu is below:
      • View Products for Sale
      • View Low Inventory
      • Add to Inventory
      • Add New Product

MySQL

The JavaScript files mentioned above query a MySQL database called Bamazon which is locally hosted on my laptop.

  • Please refer to the schema.sql file to see how the database was created using raw SQL queries.

    • If you wish to run this app on your own machine, then please note the following commands:

      1. If you are new to MySQL, please set up MySQL and MySQL Workbench on your laptop and then open up to your localhost connection.
      2. Run CREATE DATABASE Bamazon; in mySQL Workbench.
      3. Be sure to select the correct database by running the USE Bamazon;
      4. Refer to the raw SQL commands under the === First Table === comment to set up the Products table.
      5. Refer to the raw SQL commands under the === Second Table === comment to set up the Departments table.

Node Package Manager (npm)

If you clone this repo down to your machine, note that it has two npm dependencies! Before running the JavaScript files mentioned above, please run npm install in your terminal to download the prompt and mysql node packages.

Screenshots

Below are some screenshots that show the functionality of the app.

  • Below is a demo of the BamazonCustomer.js file...
    • Running node BamazonCustomer.js will use MySQL to pull up all the products for sale.
      • The customer can then choose a product using its ID and then enter a quantity to buy. Customer Order
      • If the inventory has enough items, the order will be processed. And If the inventory is lacking, the order will not be processed. Customer Order

  • Below is a demo of the BamazonManager.js file...
    • Running node BamazonManager.js will display a menu and perform the specific requests. Manager Menu
      • The manager can choose option 1 to view the current inventory. Manager 1
      • The manager can choose option 2 to see low items in inventory (less than 5 in stock). Manager 2
      • The manager can choose option 3 to re-stock existing items. Manager 3
      • The manager can choose option 4 to add new items for sale. Manager 4a

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published