{"id":20442052,"url":"https://github.com/williamcrownover/e-commerce-backend","last_synced_at":"2026-05-06T04:07:38.850Z","repository":{"id":184986250,"uuid":"393275124","full_name":"WilliamCrownover/e-commerce-backend","owner":"WilliamCrownover","description":"The server-side backend to an E-commerce website built with Sequelize.","archived":false,"fork":false,"pushed_at":"2021-08-29T03:25:37.000Z","size":1079,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T07:46:33.786Z","etag":null,"topics":["backend","dotenv","e-commerce","mysql-database","nodejs","sequelize"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WilliamCrownover.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-08-06T06:23:56.000Z","updated_at":"2021-08-29T03:25:39.000Z","dependencies_parsed_at":"2023-07-31T09:15:58.793Z","dependency_job_id":null,"html_url":"https://github.com/WilliamCrownover/e-commerce-backend","commit_stats":null,"previous_names":["williamcrownover/e-commerce-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/WilliamCrownover/e-commerce-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilliamCrownover%2Fe-commerce-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilliamCrownover%2Fe-commerce-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilliamCrownover%2Fe-commerce-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilliamCrownover%2Fe-commerce-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WilliamCrownover","download_url":"https://codeload.github.com/WilliamCrownover/e-commerce-backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilliamCrownover%2Fe-commerce-backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32677958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T02:33:58.958Z","status":"ssl_error","status_checked_at":"2026-05-06T02:33:39.611Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","dotenv","e-commerce","mysql-database","nodejs","sequelize"],"created_at":"2024-11-15T09:36:44.048Z","updated_at":"2026-05-06T04:07:38.809Z","avatar_url":"https://github.com/WilliamCrownover.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# E-Commerce Backend\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## Description\n\nThe purpose of this project was to configure a working Express.js API backend to use Sequelize to query the MySQL database of products, tags, and categories for an E-commerce storefront. Four sequelize models were created for the database, Category, Product, Tag, and ProductTag which handles the many to many relationship between products and tags. I developed the CRUD functionality for the different express routes which included GET all data, Get one, POST, PUT, and DELETE processes for all three sequelize models. To test that these routes were working before deployment to a live site I used Insomnia to return the JSON objects. A demonstration of these routes can be seen in the walkthrough video below. \n\n\u003cimg src=\"./assets/screenshot.jpg\" width=\"1200\" alt=\"Insomnia route testing and server terminal log\"/\u003e\n\n## Table of Contents\n\n- [User Story](#user-story)\n- [Walkthrough Video](#walkthrough-video)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Technologies](#technologies)\n- [License](#license)\n- [Contact](#contact)\n\n## User Story\n\n```\nAS A manager at an internet retail company\nI WANT a back end for my e-commerce website that uses the latest technologies\nSO THAT my company can compete with other e-commerce companies\n```\n\n## Walkthrough Video\n\nhttps://www.youtube.com/watch?v=5UCJi-xWong\u0026ab_channel=WilliamCrownover\n\n## Installation\n\nYou will need Node.js installed on your local machine to run this app.\nThen you can clone this repo to your local machine.\nYou can then run it in VSCode and open an integrated terminal of the root folder.\nBefore use, run `npm install` to load any dependencies.\n\nIn the root folder create a ‘.env’ file and paste these lines of code changing password to your MySQL root user password.\n```\nDB_USER=root\nDB_PW=password\nDB_NAME=ecommerce_db\n```\nTo setup the initial database login to the MySQL shell using `mysql -u root -p` and then run the schema file with `source db/schema.sql`.\n\nYou may use the seeds folder to populate example tables to the database using `npm run seed`.\n\n## Usage\n\nAfter proper installation, the app can be run using `npm start` in the command line.\n\nTo test that the server is working you can use a program like Insomnia or Postman to make GET, POST, PUT, and DELETE requests for the three models, Category, Product, and Tag. See the walkthrough video for a demonstration of these routes.\n\n## Technologies\n- Node.js\n- Express.js\n- MySQL2\n- Sequelize\n- Dotenv \n\n## License\nLicensed under the MIT License - https://opensource.org/licenses/MIT\n\n## Contact\n\nIf you have any questions you can email me at williamcrownover1@gmail.com.\n\nYou can also check out my other work on GitHub at [WilliamCrownover](https://github.com/WilliamCrownover)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliamcrownover%2Fe-commerce-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilliamcrownover%2Fe-commerce-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliamcrownover%2Fe-commerce-backend/lists"}