{"id":18406647,"url":"https://github.com/ayman-al-khatib/ecommerce-backend","last_synced_at":"2025-04-14T13:43:18.861Z","repository":{"id":221899513,"uuid":"746848084","full_name":"Ayman-Al-Khatib/ecommerce-backend","owner":"Ayman-Al-Khatib","description":"🛒 E-Commerce Application is a robust backend for a versatile online shopping platform. It supports various product categories, from electronics 📱 to fashion 👗 and more! This repo provides an overview of the architecture 🏗️, features ⭐, and tech specs 💻 for building a scalable and efficient e-commerce solution. 🛍️📦💳","archived":false,"fork":false,"pushed_at":"2024-09-05T11:34:48.000Z","size":1217,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T02:46:59.899Z","etag":null,"topics":["dotenv","expressjs","jwt","mongodb","mongoose","multer","nodejs","nodemailer"],"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/Ayman-Al-Khatib.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-22T19:42:24.000Z","updated_at":"2024-11-08T16:32:21.000Z","dependencies_parsed_at":"2024-11-06T03:15:08.146Z","dependency_job_id":"7d59a0f8-079b-48ec-83a8-2074678d4281","html_url":"https://github.com/Ayman-Al-Khatib/ecommerce-backend","commit_stats":null,"previous_names":["ayman-al-khatib/ecommerce-back-end","ayman-al-khatib/ecommerce-backend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ayman-Al-Khatib%2Fecommerce-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ayman-Al-Khatib%2Fecommerce-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ayman-Al-Khatib%2Fecommerce-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ayman-Al-Khatib%2Fecommerce-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ayman-Al-Khatib","download_url":"https://codeload.github.com/Ayman-Al-Khatib/ecommerce-backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248890188,"owners_count":21178383,"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","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","jwt","mongodb","mongoose","multer","nodejs","nodemailer"],"created_at":"2024-11-06T03:09:56.796Z","updated_at":"2025-04-14T13:43:18.828Z","avatar_url":"https://github.com/Ayman-Al-Khatib.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\r\n# E-Commerce Application\r\n\r\n## Introduction\r\n\r\nThe E-Commerce Application is a robust backend system designed to support a versatile online shopping platform. This platform accommodates a diverse range of products, extending beyond electronics to include various categories. This document provides a detailed overview of the architecture, features, and technical specifications required to deliver a scalable and efficient e-commerce experience.\r\n\r\n## Key Features\r\n\r\n### Secure Login System\r\n- **Authentication**:\r\n  - **JWT (JSON Web Tokens)**: Provides stateless authentication and session management.\r\n  - **Password Management**: Implements **bcrypt** for secure password hashing and storage.\r\n\r\n### Comprehensive Product Catalog\r\n- **Categorization**:\r\n  - **Hierarchical Categories**: Supports multi-level categorization for diverse product types.\r\n  - **Dynamic Category Management**: Admins can create, modify, and delete categories as needed.\r\n- **Multi-Category Listings**:\r\n  - **Product Tags**: Items can be associated with multiple categories to enhance search and discoverability.\r\n- **Detailed Information**:\r\n  - **Product Details**: Includes descriptions, specifications, high-resolution images, pricing, and stock status.\r\n  - **Images**: Supports multiple images per product with responsive design for optimal viewing on various devices.\r\n\r\n### Advanced Search and Filtering\r\n- **Custom Filters**:\r\n  - **Faceted Search**: Allows filtering by attributes such as brand, price range, ratings, and other product features.\r\n\r\n### Shopping Basket\r\n- **Temporary Storage**:\r\n  - **Session Management**: Stores basket data in user sessions for persistent access throughout the shopping process.\r\n  - **Basket Management**: Users can add, remove, and adjust quantities of items before finalizing their purchase.\r\n- **Cost Overview**:\r\n  - **Dynamic Calculations**: Computes total cost including item prices, taxes, discounts, and shipping fees.\r\n  - **Cost Breakdown**: Provides a detailed view of itemized costs and any applicable discounts.\r\n\r\n### Discount Coupons and Promotions\r\n- **Coupon Application**:\r\n  - **Coupon Management**: Admin interface for creating and managing promotional codes and discounts.\r\n  - **Discount Logic**: Supports various discount types including percentage-based, fixed amount, and tiered discounts.\r\n\r\n### User Address Management\r\n- **Multiple Addresses**:\r\n  - **Address Storage**: Users can store and manage multiple delivery addresses with custom labels.\r\n  - **Address Management**: Interfaces for adding, updating, and deleting addresses.\r\n\r\n### Product Reviews and Ratings\r\n- **User Feedback**:\r\n  - **Review Submission**: Users can submit reviews and star ratings for products.\r\n  - **Review Moderation**: Admin tools for moderating and managing user reviews to maintain content quality.\r\n- **Aggregated Ratings**:\r\n  - **Rating Computation**: Calculates average ratings and aggregates user feedback for each product.\r\n  - **Review Summary**: Displays overall ratings and detailed reviews to assist other users in making informed decisions.\r\n\r\n## Technical Specifications\r\n\r\n### Database\r\n- **NoSQL Database**:\r\n  - **MongoDB**: For flexible schema design and high-performance querying.\r\n  - **Schema Design**: Document-based storage with embedded or referenced relationships.\r\n  - **Indexing**: Uses indexes on frequently queried fields to optimize performance.\r\n\r\n### Services and Tools\r\n- **API Framework**:\r\n  - **Node.js with Express**: For building RESTful APIs.\r\n\r\n## Summary\r\n\r\nThe E-Commerce Application’s backend is a high-performance, scalable, and secure solution designed to meet the needs of a modern online shopping platform. By leveraging advanced technologies and focusing on comprehensive functionality, it provides a reliable foundation for managing a wide range of product sales and user interactions.\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayman-al-khatib%2Fecommerce-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fayman-al-khatib%2Fecommerce-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayman-al-khatib%2Fecommerce-backend/lists"}