{"id":28639441,"url":"https://github.com/Azure-Samples/eShopLite","last_synced_at":"2025-06-12T19:40:34.727Z","repository":{"id":288831889,"uuid":"969187519","full_name":"Azure-Samples/eShopLite","owner":"Azure-Samples","description":"eShopLite is a set of reference .NET applications implementing an eCommerce site with features like Semantic Search, MCP, Reasoning models and more.","archived":false,"fork":false,"pushed_at":"2025-06-04T20:37:00.000Z","size":10499,"stargazers_count":45,"open_issues_count":0,"forks_count":20,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-06-05T02:15:39.348Z","etag":null,"topics":["aspire","awesome-azd","awesome-mcp","azd","azd-templates","azure-openai","chromadb","deepseek-r1","embeddings","eshoplite","managed-identity","mcp","mcp-client","mcp-server","rag","semantic-search"],"latest_commit_sha":null,"homepage":"https://aka.ms/eshoplite/repo","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/Azure-Samples.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","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-04-19T15:32:22.000Z","updated_at":"2025-06-04T20:37:02.000Z","dependencies_parsed_at":"2025-05-26T19:34:47.447Z","dependency_job_id":null,"html_url":"https://github.com/Azure-Samples/eShopLite","commit_stats":null,"previous_names":["azure-samples/eshoplite"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Azure-Samples/eShopLite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure-Samples%2FeShopLite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure-Samples%2FeShopLite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure-Samples%2FeShopLite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure-Samples%2FeShopLite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Azure-Samples","download_url":"https://codeload.github.com/Azure-Samples/eShopLite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure-Samples%2FeShopLite/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259520285,"owners_count":22870415,"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":["aspire","awesome-azd","awesome-mcp","azd","azd-templates","azure-openai","chromadb","deepseek-r1","embeddings","eshoplite","managed-identity","mcp","mcp-client","mcp-server","rag","semantic-search"],"created_at":"2025-06-12T19:40:25.689Z","updated_at":"2025-06-12T19:40:34.710Z","avatar_url":"https://github.com/Azure-Samples.png","language":"C#","funding_links":[],"categories":["📚 Projects (1974 total)","Servers"],"sub_categories":["MCP Servers","DotNET"],"readme":"[![GitHub license](https://img.shields.io/github/license/azure-samples/eshoplite.svg)](https://github.com/azure-samples/eshoplite/blob/main/LICENSE)\n[![GitHub contributors](https://img.shields.io/github/contributors/azure-samples/eshoplite.svg)](https://github.com/azure-samples/eshoplite/graphs/contributors/)\n[![GitHub issues](https://img.shields.io/github/issues/azure-samples/eshoplite.svg)](https://github.com/azure-samples/eshoplite/issues/)\n[![GitHub pull-requests](https://img.shields.io/github/issues-pr/azure-samples/eshoplite.svg)](https://github.com/azure-samples/eshoplite/pulls/)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n\n[![GitHub watchers](https://img.shields.io/github/watchers/azure-samples/eshoplite.svg?style=social\u0026label=Watch)](https://github.com/azure-samples/eshoplite/watchers/)\n[![GitHub forks](https://img.shields.io/github/forks/azure-samples/eshoplite.svg?style=social\u0026label=Fork)](https://github.com/azure-samples/eshoplite/network/)\n[![GitHub stars](https://img.shields.io/github/stars/azure-samples/eshoplite.svg?style=social\u0026label=Star)](https://github.com/azure-samples/eshoplite/stargazers/)\n\n[![Azure AI Community Discord](https://dcbadge.vercel.app/api/server/ByRwuEEgH4)](https://aka.ms/ai-discord/dotnet)\n\n[![Azure AI Foundry GitHub Discussions](https://img.shields.io/badge/Discussions-Azure%20AI%20Foundry-blueviolet?logo=github\u0026style=for-the-badge)](https://aka.ms/ai-discussions/dotnet)\n\n# eShopLite\n\n**eShopLite** is a set of reference .NET applications implementing an eCommerce site with features like Semantic Search, Model Context Protocol (MCP), Reasoning models, vector databases, and more.\n\n\u003e - ☁️ **All scenarios in this repository use the latest version of .NET and leverage .NET Aspire to orchestrate the entire solution.**\n\u003e - 🌟 Don't forget to **[star (🌟) this repo](https://docs.github.com/en/get-started/exploring-projects-on-github/saving-repositories-with-stars)** to find it easier later.\n\u003e - ➡️ Get your own copy by **[Forking this repo](https://github.com/azure-samples/eshoplite/fork)** and find it next in your own repositories.\n\u003e - ❓ **Have a question?** Besides creating [issues](https://github.com/azure-samples/eshoplite/issues) or [pull requests](https://github.com/azure-samples/eshoplite/pulls), the best option for questions is to join the [Azure AI Discord channel](https://discord.com/invite/ByRwuEEgH4), where a team of AI experts can help you.\n\n## Features\n\nThis project framework provides the following features:\n\n* Modern .NET application architecture with .NET Aspire\n* Various search capabilities (keyword search, semantic search)\n* Integration with multiple AI models (GPT-4o, DeepSeek-R1, etc.)\n* Vector database implementations (In Memory, Azure AI Search, Chroma DB and others)\n* Real-time audio capabilities\n* Model Context Protocol (MCP) server and client implementation\n\n## eShopLite Scenarios\n\nThe project includes several scenarios demonstrating different capabilities:\n\n| Scenario | Description | Key Technologies |\n|----------|-------------|-----------------|\n| [01 - Semantic Search](./scenarios/01-SemanticSearch/) | A reference .NET application implementing an eCommerce site with Search features using Keyword Search and Semantic Search. | .NET Aspire, OpenAI GPT-4o-mini, In-memory Vector DB |\n| [02 - Azure AI Search](./scenarios/02-AzureAISearch/) | Implements an eCommerce site with Keyword Search using SQL queries and Semantic Search with Vector Database and Azure AI Search. | Azure AI Search, OpenAI Embeddings, SQL Server |\n| [03 - Realtime Audio](./scenarios/03-RealtimeAudio/) | Extends the eCommerce site with advanced search features and real-time audio capabilities powered by the GPT-4o Realtime Audio API. | GPT-4o Realtime Audio API, Audio in Blazor, .NET Aspire |\n| [04 - Chroma DB](./scenarios/04-chromadb/) | Implements semantic search functionality using Chroma DB, an open-source database designed for AI applications. | Chroma DB, OpenAI Embeddings, .NET SDK |\n| [05 - DeepSeek-R1](./scenarios/05-deepseek/) | Demonstrates integration of the DeepSeek-R1 model for enhanced semantic understanding and search capabilities. | DeepSeek-R1, .NET Aspire, Vector Embeddings |\n| [06 - Model Context Protocol (MCP)](./scenarios/06-mcp/) | Implements the Model Context Protocol (MCP) for advanced AI interactions with MCP Servers and MCP Clients. | Model Context Protocol, Function Calling, SSE Events |\n| [07 - Agents Concurrent](./scenarios/07-AgentsConcurrent/) | Demonstrates concurrent agent orchestration and advanced AI agent collaboration patterns. | .NET Aspire, Multi-Agent Systems, Orchestration |\n\n## Getting Started\n\n### Prerequisites\n\n- [.NET 9](https://dotnet.microsoft.com/download/dotnet/9.0)\n- [Docker Desktop](https://www.docker.com/products/docker-desktop/) or [Podman](https://podman.io/)\n- [Azure Developer CLI (azd)](https://aka.ms/install-azd) (for Azure deployment)\n- [Git](https://git-scm.com/downloads)\n\n### Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/Azure-Samples/eShopLite.git\n   ```\n\n1. Navigate to the scenario directory of interest:\n   ```bash\n   cd eShopLite/scenarios/[scenario-folder]\n   ```\n\n1. Login to Azure:\n\n    ```shell\n    azd auth login\n    ```\n\n1. Provision and deploy all the resources:\n\n    ```shell\n    azd up\n    ```\n\n    It will prompt you to provide an `azd` environment name (like \"eShopLite\"), select a subscription from your Azure account, and select a [location where the necessary models, like gpt-4o-mini and ADA-002 are available](https://azure.microsoft.com/explore/global-infrastructure/products-by-region/?products=cognitive-services\u0026regions=all), a sample region can be \"eastus2\".\n\n### Quickstart\n\n1. Navigate to a specific scenario folder (e.g., `scenarios/01-SemanticSearch/`)\n2. Follow the README instructions in that scenario folder\n3. Run the solution using `dotnet run` in the appropriate host project folder\n\n## Demo\n\nTo run the demo, follow these steps:\n\n1. Navigate to the specific scenario folder\n2. Follow the \"Run the solution\" instructions in that scenario's README\n3. Access the application via the URLs provided in the console output\n\n## Sample Application\n\nThis is the eShopLite Aplication running, performing a **Keyword Search**:\n\n![eShopLite Aplication running doing search using keyworkd search](./images/05eShopLite-SearchKeyWord.gif)\n\nThis is the eShopLite Aplication running, performing a **Semantic Search**:\n\n![eShopLite Aplication running doing search using keyworkd search](./images/06eShopLite-SearchSemantic.gif)\n\nThis is the eShopLite Application running the **Realtime Audio** feature:\n\n![eShopLite Application running the Realtime Audio feature](./images/07eShopLite-RealtimeAudio.gif)\n\nThis is the eShopLite Application using the **DeepSeek-R1 Reasoning Model**:\n\n![eShopLite Application using the DeepSeek-R1 Reasoning Model](./images/07ReasoningSearch.png)\n\nThe Aspire Dashboard to check the running services:\n\n![Aspire Dashboard to check the running services](./images/15AspireDashboard.png)\n\nThe Azure Resource Group with all the deployed services:\n\n![Azure Resource Group with all the deployed services](./images/10AzureResources.png)\n\n\n## Resources\n\n- [Generative AI for Beginners .NET](https://aka.ms/genainnet)\n\n- [.NET Aspire Documentation](https://learn.microsoft.com/dotnet/aspire/)\n\n- [Azure OpenAI Service Documentation](https://learn.microsoft.com/azure/ai-services/openai/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAzure-Samples%2FeShopLite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAzure-Samples%2FeShopLite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAzure-Samples%2FeShopLite/lists"}