Giter VIP home page Giter VIP logo

bamazon's Introduction

๐Ÿ’ฅ 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
  • BamazonExecutive.js (See example here)

    • Simulates very basic profit and sales insights for upper management.
    • A sample of the menu is below:
      • View Product Sales by Department
      • Create New Department

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. Order Valid
      • If the inventory is lacking, the order will not be processed. Order Invalid

  • 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
        • Notice how the inventory was adjusted from steps 3 and 4. Manager 4b

  • Below is a demo of the BamazonExecutive.js file...
    • Running node BamazonExecutive.js will display a menu and perform the specific requests. Executive Menu
      • The executive can choose option 1 to view the sales by department. Executive 1
      • The executive can choose option 2 to add a new department. Executive 2a
        • Notice how the department list was adjusted from step 2. Executive 2a
        • Also note that the manager can add a new item to the department and if a customer buys said item, it will cause total sales and profit to increase in that department.

bamazon's People

Contributors

tomtom828 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.