Code Monkey home page Code Monkey logo

e-commerce-back-end's Introduction

E-commerce Back End

Description

Build the back end for an e-commerce site. Take a working Express.js API and configure it to use Sequelize to interact with a MySQL database.

Contents

Usage

GIVEN a functional Express.js API

  • WHEN I add my database name, MySQL username, and MySQL password to an environment variable file
    • THEN I am able to connect to a database using Sequelize
  • WHEN I enter schema and seed commands
    • THEN a development database is created and is seeded with test data
  • WHEN I enter the command to invoke the application
    • THEN my server is started and the Sequelize models are synced to the MySQL database
  • WHEN I open API GET routes in Insomnia for categories, products, or tags
    • THEN the data for each of these routes is displayed in a formatted JSON
  • WHEN I test API POST, PUT, and DELETE routes in Insomnia
    • THEN I am able to successfully create, update, and delete data in my database

Video Description

  • Tags
Tags.mp4
  • Categories
Cat.mp4
  • Products
Products.mp4

Database Models

  • Category

    • id

      • Integer
      • Doesn't allow null values
      • Set as primary key
      • Uses auto increment
    • category_name

      • String
      • Doesn't allow null values
  • Product

    • id

      • Integer
      • Doesn't allow null values
      • Set as primary key
      • Uses auto increment
    • product_name

      • String
      • Doesn't allow null values
    • price

      • Decimal
      • Doesn't allow null values
      • Validates that the value is a decimal
    • stock

      • Integer
      • Doesn't allow null values
      • Set a default value of 10
      • Validates that the value is numeric
    • category_id

      • Integer
      • References the category model's id
  • Tag

    • id

      • Integer
      • Doesn't allow null values
      • Set as primary key
      • Uses auto increment
    • tag_name

      • String
  • ProductTag

    • id

      • Integer
      • Doesn't allow null values
      • Set as primary key
      • Uses auto increment
    • product_id

      • Integer
      • References the product model's id
    • tag_id

      • Integer
      • References the tag model's id

Built With

  • MySQL 2
  • Node.js
  • Express.js
  • Sequelize
  • Dotenv
  • JavaScript

Instructions

  • Add a .env file to the root of the app with the following details
DB_NAME='ecommerce_db'
DB_USER='root'
DB_PW='xxx'

Installation

Node.js and MySQL are required

Install dependencies

npm init --y

Open up MySQL and use

source db/schema.sql

Quit MySQL and then run the following in the terminal

npm run seed

Start the app by running the following in the terminal

npm start

Credits

  • Created by Amir Hackett

e-commerce-back-end's People

Contributors

amir-hackett avatar

Watchers

 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.