{"id":15002555,"url":"https://github.com/marcin-niewczas/myshop-api","last_synced_at":"2026-03-14T21:02:34.991Z","repository":{"id":247778634,"uuid":"826816473","full_name":"marcin-niewczas/MyShop-API","owner":"marcin-niewczas","description":"myShop E-Commerce \u0026 CMS REST API | ASP.NET Core Web API","archived":false,"fork":false,"pushed_at":"2025-03-05T19:48:13.000Z","size":437,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-26T09:58:04.270Z","etag":null,"topics":["api-rest","asp-net-core","asp-net-core-web-api","clean-architecture","cms","cqrs","csharp","e-commerce","entity-framework-core","jwt-authentication","management-panel","mssql","order-management","orders","product-management","product-variant-options","product-variants","products","refresh-tokens","swagger"],"latest_commit_sha":null,"homepage":"","language":"C#","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/marcin-niewczas.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-10T12:39:56.000Z","updated_at":"2025-04-22T09:23:14.000Z","dependencies_parsed_at":"2025-03-12T02:47:29.626Z","dependency_job_id":null,"html_url":"https://github.com/marcin-niewczas/MyShop-API","commit_stats":{"total_commits":52,"total_committers":1,"mean_commits":52.0,"dds":0.0,"last_synced_commit":"10d24f3dd3369c869dd7c1a240de465efdd85ed7"},"previous_names":["marcin-niewczas/myshop-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/marcin-niewczas/MyShop-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcin-niewczas%2FMyShop-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcin-niewczas%2FMyShop-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcin-niewczas%2FMyShop-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcin-niewczas%2FMyShop-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcin-niewczas","download_url":"https://codeload.github.com/marcin-niewczas/MyShop-API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcin-niewczas%2FMyShop-API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30517673,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-14T19:51:21.629Z","status":"ssl_error","status_checked_at":"2026-03-14T19:51:12.959Z","response_time":57,"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":["api-rest","asp-net-core","asp-net-core-web-api","clean-architecture","cms","cqrs","csharp","e-commerce","entity-framework-core","jwt-authentication","management-panel","mssql","order-management","orders","product-management","product-variant-options","product-variants","products","refresh-tokens","swagger"],"created_at":"2024-09-24T18:51:06.451Z","updated_at":"2026-03-14T21:02:34.966Z","avatar_url":"https://github.com/marcin-niewczas.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e \n  \u003ch1\u003emyShop API\u003c/h1\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## Table of Contents\n1. **[About The Project](#about-the-project)**\n    - **[Features](#features)**\n    - **[Built with](#built-with)**\n2. **[Related Projects](#related-projects)**\n3. **[Getting Started](#getting-started)**\n4. **[Launch myShop Projects](#launch-myshop-projects)**\n5. **[Authenticate](#authenticate)**\n6. **[License](#license)**\n\n## About The Project\nThe main goal of **myShop API** project was to create a flexible E-Commerce API platform, that can be easily managed. The project has been built as Clean Architecture REST API and developed with CQRS (Command Query Responsibility Segregation), Unit Of Work and Event Driven Architecture Patterns.\n\n### Clients\n- **[myShop Angular Client](https://github.com/marcin-niewczas/MyShop-Angular-Client) ( [Screenshots](https://github.com/marcin-niewczas/MyShop-Angular-Client/blob/main/SCREENSHOTS.md)** )\n\n### Features\n- **For the entire platform**\n  - Real time notifications with SignalR,\n  - User Roles\n    - Guest\n    - Customer\n    - Employee\n      - Seller\n      - Manager\n      - Admin\n      - SuperAdmin\n  - Message broker (Channel or RabbitMQ)\n    - CRON Jobs,\n    - Async Background Tasks (e.g. Payment Processing with **[myShop Pay](https://github.com/marcin-niewczas/MyShop-Pay)** )\n- **E-Commerce**\n  - Customized Home Page\n  - Products List\n    - Advanced Filtering (by Variant Options, Detail Options, Price)\n    - Advanced Sorting (e.g. Top Rated, Bestsellers, Most Reviewed Products)\n    - Group Products By All Variant Options or Main Variant Option\n  - Product Detail (Single or Product Variants)\n  - Product Reviews\n  - Favorites\n  - Quick Add Product\n  - Shopping Basket\n  - Ordering Wizard\n  - Create Order by Guest\n- **Management Panel**\n  - Dashboard\n  - E-Commerce Home Page Management\n  - Categories Management\n  - Product Options Management\n  - Product, Product Reviews, Product Variants, Product Photos Management\n  - Orders Management\n- **Account**\n  - Basic Account Information Management\n  - User Addresses Management\n  - User Orders Management (generating invoices in PDF format)\n  - Notifications List\n  - Favorite Products Management\n  - Account Security Management\n- **Authenticates**\n  - JWT Authenticates with Refresh Tokens\n  - Possibility of sessions on various devices\n  - Sign In\n  - Sign Up\n### Built with\n* .NET 9\n* ASP.NET Core Web API\n* ASP.NET Core Authentication JWT Bearer\n* Entity Framework Core (MS SQL)\n* ASP.NET Core SignalR\n* Swagger\n* Quartz.NET\n* Humanizer\n* MassTransit (RabbitMQ)\n* MigraDoc\n\n## Related Projects\n* **[myShop Angular Client](https://github.com/marcin-niewczas/MyShop-Angular-Client)**\n* **[myShop Pay](https://github.com/marcin-niewczas/MyShop-Pay)**\n\n## Getting Started\n\u003e [!Important]\n\u003e For fully functionality, the **myShop API** project must have **[related projects](#related-projects)** running.\n\u003e \n\u003e Full instruction for starting **myShop** projects is **[here](#launch-myshop-projects)**.\n1. Clone repository\n   ```sh\n   git clone https://github.com/marcin-niewczas/MyShop-API.git  \n   ```\n2. Database and message broker\n     - If you wanna use RabbitMQ, go to ```appsettings.json``` and set ```UseRabbitMQ``` to true (MessagingOptions section) and uncomment RabbitMQ image in ```docker-compose.yml```\n     - Run **Docker App**\n     - In root directory of repository run\n       ```sh\n       docker-compose up -d\n       ```\n3. In root directory of repository run\n   ```sh\n   dotnet run --project ./src/MyShop.API/MyShop.API.csproj --launch-profile MyShop.HTTPS.Development\n   ```\n## Launch myShop Projects\n### 1. Clone repositories\n   ```sh\n   git clone https://github.com/marcin-niewczas/MyShop-API.git\n   git clone https://github.com/marcin-niewczas/MyShop-Angular-Client.git\n   git clone https://github.com/marcin-niewczas/MyShop-Pay.git\n   ```\n\n### 2. myShop API\n1. Go to root folder of **myShop API** repository\n2. Database and message broker\n     - If you wanna use RabbitMQ, go to ```appsettings.json``` and set ```UseRabbitMQ``` to true (MessagingOptions section) and uncomment RabbitMQ image in ```docker-compose.yml```\n     - Run **Docker App**\n     - In root directory of repository run\n       ```sh\n       docker-compose up -d\n       ```\n3. In root directory of repository run\n   ```sh\n   dotnet run --project ./src/MyShop.API/MyShop.API.csproj --launch-profile MyShop.HTTPS.Development\n   ```\n### 3. myShop Angular Client\n1. Go to root folder of **myShop Angular Client** repository\n2. In root folder of repository install NPM packages\n   ```sh\n   npm install\n   ```\n3. Run application\n   ```sh\n   ng serve\n   ```\n\n### 4. myShop Pay\n1. Go to root folder of **myShop Pay** repository\n2. Database   \n     - In root directory of repository run\n       ```sh\n       docker-compose up -d\n       ```   \n3. In root directory of repository run\n   ```sh\n   dotnet run --project ./MyShopPay/MyShopPay.csproj --launch-profile https\n   ```\n## Authenticate\n| Email | Password |\n| :---: | :------: |\n| `super-admin@myshop.com` | `myShopProject1#` |\n| `admin@myshop.com` | `myShopProject1#` |\n| `manager@myshop.com` | `myShopProject1#` |\n| `seller@myshop.com` | `myShopProject1#` |\n| `customer1@myshop.com` | `myShopProject1#` |\n| `customer2@myshop.com` | `myShopProject1#` |\n  \n## License\nDistributed under the **MIT License**. See **[LICENSE](./LICENSE)** for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcin-niewczas%2Fmyshop-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcin-niewczas%2Fmyshop-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcin-niewczas%2Fmyshop-api/lists"}