This app is the back end for an e-commerce site written in Express.js and Node.js. It utilizes asyncronous JavaScript functions and a MySQL database to perform CRUD (Create, Read, Update, and Delete) operations on each asset type: Products, Categories, and Tags. Users can create new assets and associate them with each other. For example, the Product "Plain White T-shirt" is associated with the Category "Shirts" and the Tag "white". The database login information is protected by using environmental variables. The app uses the MySQL2
, Express
, dotenv
, and Sequelize
Node.js packages.
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 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
To start using the store's back end, first clone the repo to your server. Then run npm i
to install all the dependent packages.
Next, rename the file ".env EDIT THIS FILE" to ".env". Open it and add your database user's name after "DB_USER=" and its password after "DB_PW=". Do not include quotes. Save and close the file.
The demonstration video shows how to create the schema by logging into MySQL from the command line and running the command source ./db/schema.sql
. This will create the database. Exit the MySQL command line utility.
Next, the demonstration video shows how to seed the database with information. From the command line, run npm run seed
. When you view your database now, it should be full of data.
After creating and seeding the database, start the Express.js server by running this command from the command line:
npm run start
Please view the demonstration video to see the app's functionality via the Insomnia app: Demonstration Video
This work is licensed under GNU General Publice License v3.0.
Visit my GitHub profile.
To reach me with additional questions, send me an email.