{"id":25028994,"url":"https://github.com/brockaltug/orm-ecom-backend","last_synced_at":"2026-04-14T19:31:23.390Z","repository":{"id":267735484,"uuid":"887711181","full_name":"BrockAltug/orm-ecom-backend","owner":"BrockAltug","description":" E-Commerce Backend 🛒 solution for managing an e-commerce platform. This API supports categories, products, tags, and their relationships, built using Node.js, Express.js, Sequelize, and PostgreSQL. The project demonstrates a scalable relational database architecture with RESTful API endpoints for CRUD operations.","archived":false,"fork":false,"pushed_at":"2025-01-03T10:24:21.000Z","size":138,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-10T00:38:32.374Z","etag":null,"topics":["dotenv","expressjs","insomnia","nodejs","object-relational-mapping","postgresql","sequelize"],"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/BrockAltug.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-11-13T06:35:31.000Z","updated_at":"2025-01-27T22:16:59.000Z","dependencies_parsed_at":"2024-12-12T06:06:28.316Z","dependency_job_id":"09277ee6-0d85-430d-bd1a-e58ccd982d7f","html_url":"https://github.com/BrockAltug/orm-ecom-backend","commit_stats":null,"previous_names":["brockaltug/ecom-backend","brockaltug/orm-ecom-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BrockAltug/orm-ecom-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Form-ecom-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Form-ecom-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Form-ecom-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Form-ecom-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BrockAltug","download_url":"https://codeload.github.com/BrockAltug/orm-ecom-backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Form-ecom-backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274231036,"owners_count":25245687,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["dotenv","expressjs","insomnia","nodejs","object-relational-mapping","postgresql","sequelize"],"created_at":"2025-02-05T20:52:29.154Z","updated_at":"2026-04-14T19:31:23.341Z","avatar_url":"https://github.com/BrockAltug.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# E-Commerce Backend\n\n## Description\n\nThe E-Commerce Backend is a comprehensive backend solution for managing an e-commerce platform. This API provides functionality to manage categories, products, tags, and their relationships. Built using Node.js, Express.js, Sequelize, and PostgreSQL, this project demonstrates a scalable, relational database architecture while offering robust RESTful API endpoints.\n\n![Screenshot of the E-Commerce Backend API](assets/ss.png)\n\n[View Demo Video](https://drive.google.com/file/d/1xPIg20mIDbsKOS97dCxLzpXYmqCIG0I2/view?usp=sharing)\n\n---\n\n## Table of Contents\n\n- [Description](#description)\n- [How to Use](#how-to-use)\n- [Example API Usage](#example-api-usage)\n- [Technologies Used](#technologies-used)\n- [Summary](#summary)\n\n---\n\n## How to Use\n\n1. **Install Dependencies:**\n\n   Navigate to the project directory and install the necessary dependencies:\n\n   ```bash\n   npm install\n   ```\n\n2. **Configure Environment Variables:**\n\n   Create a `.env` file in the root directory and add your PostgreSQL credentials:\n\n   ```env\n   DB_NAME=ecommerce_db\n   DB_USER=your_username\n   DB_PASSWORD=your_password\n   ```\n\n3. **Create and Seed the Database:**\n\n   Run the schema file to create the database and tables:\n\n   ```bash\n   psql -U your_username -d ecommerce_db -f db/schema.sql\n   ```\n\n   Seed the database with sample data:\n\n   ```bash\n   npm run seed\n   ```\n\n4. **Start the Server:**\n\n   Start the API server:\n\n   ```bash\n   npm start\n   ```\n\n5. **API Testing:**\n\n   Use a tool like **Insomnia** or **Postman** to test the API endpoints.\n\n---\n\n## Example API Usage\n\n### **Category Routes**\n\n- **GET /api/categories** - Retrieve all categories.\n- **GET /api/categories/:id** - Retrieve a single category by ID.\n- **POST /api/categories** - Create a new category.\n  ```json\n  {\n    \"category_name\": \"New Category\"\n  }\n  ```\n- **PUT /api/categories/:id** - Update a category by ID.\n  ```json\n  {\n    \"category_name\": \"Updated Category\"\n  }\n  ```\n- **DELETE /api/categories/:id** - Delete a category by ID.\n\n### **Product Routes**\n\n- **GET /api/products** - Retrieve all products.\n- **GET /api/products/:id** - Retrieve a single product by ID.\n- **POST /api/products** - Create a new product.\n  ```json\n  {\n    \"product_name\": \"New Product\",\n    \"price\": 29.99,\n    \"stock\": 15,\n    \"category_id\": 1\n  }\n  ```\n- **PUT /api/products/:id** - Update a product by ID.\n  ```json\n  {\n    \"product_name\": \"Updated Product\",\n    \"price\": 19.99,\n    \"stock\": 10\n  }\n  ```\n- **DELETE /api/products/:id** - Delete a product by ID.\n\n### **Tag Routes**\n\n- **GET /api/tags** - Retrieve all tags.\n- **GET /api/tags/:id** - Retrieve a single tag by ID.\n- **POST /api/tags** - Create a new tag.\n  ```json\n  {\n    \"tag_name\": \"New Tag\"\n  }\n  ```\n- **PUT /api/tags/:id** - Update a tag by ID.\n  ```json\n  {\n    \"tag_name\": \"Updated Tag\"\n  }\n  ```\n- **DELETE /api/tags/:id** - Delete a tag by ID.\n\n---\n\n## Technologies Used\n\n- **Node.js**: Runtime environment for building the server.\n- **Express.js**: Framework for routing and middleware.\n- **Sequelize**: ORM for PostgreSQL to manage relational database operations.\n- **PostgreSQL**: Relational database for structured data storage.\n- **dotenv**: For environment variable management.\n- **Insomnia**: API testing and debugging tool.\n\n---\n\n## Summary\n\nThe E-Commerce Backend provides a robust and flexible solution for managing an online store's backend operations. With support for categories, products, tags, and their relationships, it serves as an efficient and scalable foundation for any e-commerce platform.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrockaltug%2Form-ecom-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrockaltug%2Form-ecom-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrockaltug%2Form-ecom-backend/lists"}