{"id":21961545,"url":"https://github.com/tusho7/e-commerce-api","last_synced_at":"2026-04-14T14:32:29.895Z","repository":{"id":252190871,"uuid":"826686041","full_name":"Tusho7/e-commerce-api","owner":"Tusho7","description":"A robust and scalable backend API for a shoes e-commerce platform built with Node.js, Express, and Prisma ORM. This API facilitates user authentication, product management, order processing, and email notifications, leveraging MySQL for data storage and Joi for data validation.","archived":false,"fork":false,"pushed_at":"2024-08-01T06:39:18.000Z","size":1710,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T20:30:02.079Z","etag":null,"topics":["bcrypt","cookie-parser","cors","expressjs","joi-validation","mysql-database","nodejs","nodemailer","prisma","uuid"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tusho7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-10T07:22:10.000Z","updated_at":"2024-08-08T05:44:33.000Z","dependencies_parsed_at":"2024-08-08T08:40:03.606Z","dependency_job_id":null,"html_url":"https://github.com/Tusho7/e-commerce-api","commit_stats":null,"previous_names":["tusho7/e-commerce-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Tusho7/e-commerce-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tusho7%2Fe-commerce-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tusho7%2Fe-commerce-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tusho7%2Fe-commerce-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tusho7%2Fe-commerce-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tusho7","download_url":"https://codeload.github.com/Tusho7/e-commerce-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tusho7%2Fe-commerce-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31801331,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T11:13:53.975Z","status":"ssl_error","status_checked_at":"2026-04-14T11:13:53.299Z","response_time":153,"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":["bcrypt","cookie-parser","cors","expressjs","joi-validation","mysql-database","nodejs","nodemailer","prisma","uuid"],"created_at":"2024-11-29T10:16:21.167Z","updated_at":"2026-04-14T14:32:29.877Z","avatar_url":"https://github.com/Tusho7.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Shoes E-commerce Website API\n\n### Table of Contents\n\n- [Prerequisites](#Prerequisites)\n- [Tech Stack](#Tech-Stack)\n- [Getting Started](#Getting-Started)\n- [Project Structure](#Project-Structure)\n\n#\n\n### Prerequisites\n\n- \u003cimg src=\"./readme/nodejs.png\" width=\"25\" style=\"top: 8px\" /\u003e Node JS @16.X and up\n- \u003cimg src=\"./readme/npm.png\" width=\"25\" style=\"top: 8px\" /\u003e npm @8 and up\n\n#\n\n### Tech Stack\n\n- \u003cimg src=\"./readme/bcrypt.jpeg\" width=\"25\" style=\"top: 8px\" /\u003e bcrypt @ 5.1.1 - Library for hashing passwords.\n- \u003cimg src=\"./readme/cookie-parser.png\" width=\"25\" style=\"top: 8px\" /\u003e cookie-parser @ 1.4.6 - Middleware for parsing cookies.\n- \u003cimg src=\"./readme/cors.png\" width=\"25\" style=\"top: 8px\" /\u003e cors @ 2.8.5 - Middleware for enabling CORS in Express.\n- \u003cimg src=\"./readme/dotenv.png\" width=\"25\" style=\"top: 8px\" /\u003e dotenv @ 16.4.5 - Zero-dependency module for loading environment variables.\n- \u003cimg src=\"./readme/express.png\" width=\"25\" style=\"top: 8px\" /\u003e express @ 4.19.2 - Web framework for Node.js.\n- \u003cimg src=\"./readme/jsonwebtoken.png\" width=\"25\" style=\"top: 8px\" /\u003e jsonwebtoken @ 9.0.2 - Library for generating JWTs.\n- \u003cimg src=\"./readme/prisma.png\" width=\"25\" style=\"top: 8px\" /\u003e Prisma @ 5.16.2 - Next-generation ORM for Node.js and TypeScript.\n- \u003cimg src=\"./readme/MySql.png\" width=\"25\" style=\"top: 8px\" /\u003e MySQL @ 2.18.1 - MySQL client for Node.js.\n- \u003cimg src=\"./readme/Joi.png\" width=\"25\" style=\"top: 8px\" /\u003e Joi @ 17.13.3 - Data validation library for JavaScript.\n- \u003cimg src=\"./readme/nodemailer.webp\" width=\"25\" style=\"top: 8px\" /\u003e nodemailer @ 6.9.14 - Module for sending emails.\n- \u003cimg src=\"./readme/uuid.png\" width=\"25\" style=\"top: 8px\" /\u003e uuid @ 10.0.0 - Generates UUIDs.\n\n#\n\n### Getting Started\n\n1. First of all you need to clone app repository from github:\n\n```\ngit clone https://github.com/Tusho7/e-commerce-api\n```\n\n2. Next step requires install all dependencies.\n\n```\nnpm install\n```\n\n3. Also you need to create .env file where copy information from .env.example file\n\n```\nCreate a .env file based on the .env.example template.\nUpdate the variables with your MySQL database connection URI and other configuration settings.\n```\n\n4. Run the Prisma migrations to set up the database:\n\n```\nnpx prisma migrate dev --name init\n```\n\n### Project Structure\n\n```\nsrc\n├── config          # Configuration files\n├── controllers     # Controller files\n├── joi             # Joi Validation\n├── middlewares     # Middleware functions\n├── prisma          # Database models\n├── routes          # Router files\n├── utils           # Utility functions\n└── server.js       # Main server file\n\n```\n\n### Config: Contains configuration files such as database connection setup.\n\n### Controllers: Handles business logic, interacting with models and returning responses.\n\n### Joi: Contains validations.\n\n### Middlewares: Includes middleware functions for handling requests before they reach the routes.\n\n### Prisma: Defines data models using prisma for interacting with MySQL.\n\n### Routes: Defines API routes and their corresponding controller methods.\n\n### Utils: Utility functions used across the application.\n\n### Server.js: Entry point file that initializes and starts the Express server.\n\nFeel free to adjust the sections and details according to your specific project setup and requirements. This README template provides a clear structure and instructions for setting up and understanding your Shoes E-commerce Website API project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftusho7%2Fe-commerce-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftusho7%2Fe-commerce-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftusho7%2Fe-commerce-api/lists"}