{"id":30013976,"url":"https://github.com/yousryessam/trendora","last_synced_at":"2025-08-05T17:04:12.829Z","repository":{"id":302451652,"uuid":"1012491772","full_name":"YousryEssam/Trendora","owner":"YousryEssam","description":"Trendora is a fully-featured modern e-commerce web application built using ASP.NET Core (.NET 8) and Entity Framework Core. It follows clean architecture principles, promoting scalability, maintainability, and modular design.","archived":false,"fork":false,"pushed_at":"2025-07-02T12:17:37.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-05T17:02:11.989Z","etag":null,"topics":["asp-net-core","authentication","backend","dotnet-core","e-commerce","ecommerce","entity-framework-core","repository-pattern","webapi"],"latest_commit_sha":null,"homepage":"","language":null,"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/YousryEssam.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,"zenodo":null}},"created_at":"2025-07-02T12:15:50.000Z","updated_at":"2025-07-02T12:20:55.000Z","dependencies_parsed_at":"2025-07-02T13:39:52.761Z","dependency_job_id":null,"html_url":"https://github.com/YousryEssam/Trendora","commit_stats":null,"previous_names":["yousryessam/trendora"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/YousryEssam/Trendora","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YousryEssam%2FTrendora","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YousryEssam%2FTrendora/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YousryEssam%2FTrendora/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YousryEssam%2FTrendora/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YousryEssam","download_url":"https://codeload.github.com/YousryEssam/Trendora/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YousryEssam%2FTrendora/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268936850,"owners_count":24331910,"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-08-05T02:00:12.334Z","response_time":2576,"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":["asp-net-core","authentication","backend","dotnet-core","e-commerce","ecommerce","entity-framework-core","repository-pattern","webapi"],"created_at":"2025-08-05T17:01:42.053Z","updated_at":"2025-08-05T17:04:12.805Z","avatar_url":"https://github.com/YousryEssam.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛍️ Trendora - Modern E-Commerce Web Application\n\n**Trendora** is a fully-featured modern e-commerce web application built using **ASP.NET Core (.NET 8)** and **Entity Framework Core**. It follows clean architecture principles, promoting scalability, maintainability, and modular design. [Main Repo Link](https://github.com/SantyOsama/Trendora) \n\n---\n\n## 📑 Table of Contents\n\n- [🎯 Purpose](#-purpose)\n- [🏗️ High-Level Architecture](#-high-level-architecture)\n- [🛠️ Core Technology Stack](#-core-technology-stack)\n- [🔐 Authentication \u0026 Authorization](#-authentication--authorization)\n- [📦 Main Features](#-main-features)\n- [🧩 Data Model Overview](#-data-model-overview)\n- [⚙️ Application Configuration](#️-application-configuration)\n- [📁 Project Structure](#-project-structure)\n\n\n\n---\n\n## 🎯 Purpose\n\nTrendora aims to deliver a complete and scalable e-commerce platform with essential features such as:\n\n- User authentication and role-based authorization\n- Product catalog management\n- Shopping cart system\n- Order lifecycle management\n- Wishlist and product reviews\n\nIt is built with a layered architecture and utilizes well-known design patterns to ensure clean code and extensibility.\n\n---\n\n## 🏗️ High-Level Architecture\n\nTrendora is structured into several layers:\n\n- **Client Applications** – (e.g., Web front-end or Postman)\n- **API Layer** – Handles HTTP requests and routes them to appropriate services\n- **Business Logic Layer** – Contains application logic and use cases\n- **Data Access Layer** – Implements repositories and Unit of Work\n- **Database Layer** – SQL Server with EF Core and Identity integration\n\n📊 **Architecture Diagram**  \nClient App\n↓\nAPI Controllers\n↓\nServices / Managers (Business Logic)\n↓\nRepositories / Unit of Work (Data Access)\n↓\nEF Core / DbContext\n↓\nSQL Server\n\n---\n\n## 🛠️ Core Technology Stack\n\n| Component            | Technology                  |\n|---------------------|-----------------------------|\n| Framework           | ASP.NET Core (.NET 8.0)     |\n| Database            | SQL Server                  |\n| ORM                 | Entity Framework Core       |\n| Authentication      | JWT                         |\n| Identity Management | ASP.NET Core Identity       |\n| API Docs            | Swagger / OpenAPI           |\n| Object Mapping      | DTOs                        |\n| Data Patterns       | Repository + Unit of Work   |\n\n---\n\n## 🔐 Authentication \u0026 Authorization\n\nTrendora uses **JWT-based authentication** with **ASP.NET Core Identity**. It supports role-based access for:\n\n- **Admin**\n- **User**\n- **Trader**\n\n### 🔁 Authentication Flow:\n\n1. User registers or logs in with credentials.\n2. Credentials are validated using Identity.\n3. JWT token is generated and returned.\n4. Token is used for authenticated API access.\n\n🔐 DTOs:  \n- `RegisterDTO.cs`  \n- `LoginDTO.cs`\n\n---\n\n## 📦 Main Features\n\n- 🛍️ **Product Catalog** – Browse, search, and manage products and categories.\n- 🛒 **Shopping Cart** – Add/update/remove items and manage session cart.\n- 📦 **Order Management** – Checkout flow, order items, and order history.\n- 💖 **Wishlist System** – Save products for later.\n- 🌟 **Product Reviews** – Users can review and rate products.\n\n---\n\n## 🧩 Data Model Overview\n\nKey entities include:\n\n- `ApplicationUser`\n- `Product`, `Category`\n- `Cart`, `CartItem`\n- `Order`, `OrderItem`\n- `Wishlist`, `WishlistItem`\n- `Address`, `ProductReview`\n\n📘 Defined in:  \n- `Models/`  \n- `Data/TrendOraDbContext.cs`\n\n---\n\n## ⚙️ Application Configuration\n\nTrendora's configuration is managed through standard ASP.NET Core mechanisms:\n\nConnection Strings: Database connection is configured in appsettings.json\nJWT Settings: JWT token issuer, audience, and security key are defined in configuration\nDependency Injection: Services are registered in the Program.cs startup code\nMiddleware Pipeline: HTTP request processing pipeline is configured with standard middleware\n\n## 📁 Project Structure\n\n```bash\nTrendora/\n│\n├── Controllers/          # API Controllers\n├── DTOs/                 # Data Transfer Objects\n├── Models/               # Entity Models\n├── Data/                 # DbContext \u0026 EF Configuration\n├── GenericRepositories/  # IRepository, UnitOfWork, GenericRepo\n├── Services/             # Business Logic\n├── Program.cs            # App Startup\n├── appsettings.json      # Configuration\n└── Trendora.csproj       # Project File\n\n---\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyousryessam%2Ftrendora","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyousryessam%2Ftrendora","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyousryessam%2Ftrendora/lists"}