As A Manager At An Internet Retail Company


    STARTER CODE LINK

    AS A manager at an internet retail company
    I WANT a back end for my e-commerce website that uses the latest technologies
    SO THAT my company can compete with other e-commerce companies


    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 Core 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 Core
    THEN I am able to successfully create, update, and delete data in my database

    Getting Started
    You’ll need to use the MySQL2Links to an external site. and SequelizeLinks to an external site. packages to connect your Express.js API to a MySQL database and the dotenv packageLinks to an external site. to use environment variables to store sensitive data, like your MySQL username, password, and database name.

    Use the schema.sql file in the db folder to create your database using MySQL shell commands. Use environment variables to store sensitive data, like your MySQL username, password, and database name.

    Database Models
    Your database should contain the following four models, including the requirements listed for each model:

    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

    Associations
    You'll need to execute association methods on your Sequelize models to create the following relationships between them:

    Product belongs to Category, as a category can have multiple products but a product can only belong to one category.

    Category has many Product models.

    Product belongs to many Tag models. Using the ProductTag through model, allow products to have multiple tags and tags to have many products.

    Tag belongs to many Product models.

    https://github.com/coding-boot-camp/fantastic-umbrella


    Tags:



    Related Posts


    Comments (0)

    Leave a Comment

    Type the above code here


    More from hatequizzes




    Categories


    insuranceLaw & AttorneyHosting & DomainHealth & FitnessHome & GardenHealthParentingLatest JobsFinanceGeneralEducationAutomotiveQuestions & answersHow toLoan & Insurance