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
8th Nov 2022
KRA PIN NUMBERS FOR ALL COMPANIES IN KENYA MOTOR VEHICLES 3843 ASSOCIATED VEHICLE ASSEMBLERS LIMITED P000619379O 3843 B
2nd Dec 2022
CIT 101. Computing Skills. (1) Hands-on introduction to the use of current popular software and information retrieval tools. Self-paced and tradition
9th Nov 2022
Visit the TSC online Transfer Portal to file your transfer, check transfer status and see the latest list of transferred teachers Kindly check the st
20th Jan 2023
You can now download a soft copy of the kcse result slip from the KNEC official website. To download your result slip, follow the following step: Visit
online result slip, kcse 2022, dowloading kcse results,16th Jan 2023
The 2023 Form one selection exercise for the 2022 KCPE candidates has been completed and the results released. You can check the selections results either
kcpe 2022, 2023 form one selection results, form admission 2023 online downloading,
Comments (0)
Leave a Comment