0
0
mirror of https://github.com/Shchoholiev/shopping-assistant-web-client.git synced 2025-06-29 10:11:08 +00:00
Go to file
2025-05-04 13:29:33 -04:00
.devcontainer SA-111 added Blazor project, removed Razor Pages project 2023-10-17 00:42:53 +00:00
.github/workflows Add or update the Azure App Service build and deployment workflow config 2023-11-26 08:40:26 -08:00
.vscode add cards and cart 2023-11-02 18:14:07 +00:00
ShoppingAssistantWebClient.Web Add Book to Top Deals 2023-12-21 02:13:15 +00:00
.gitignore SA-55 add wishlist page 2023-10-15 15:18:09 +00:00
README.md Update README.md 2025-05-04 13:28:56 -04:00
ShoppingAssistantWebClient.sln SA-65 authorization updated 2023-10-29 16:13:03 +02:00

shopping-assistant-web-client

Client web interface for a Shopping Assistant that utilizes Natural Language Processing (NLP) technology to interpret user queries for products and gifts. Users interact through a chat-style interface to communicate their shopping requirements.

Table of Contents

Features

  • Chat-style interface for querying products and gifts using natural language.
  • Personalized wishlists and cart management.
  • Real-time chat message updates and suggestion handling.
  • User authentication with email or phone number.
  • User profile management and settings.
  • Display of top deals and product cards with images, ratings, and prices.
  • Integration with Amazon through affiliate links.
  • Responsive frontend built with Blazor Server.
  • Confirmation modals for destructive actions (e.g., deleting chats).
  • Use of GraphQL for API communication.

Stack

  • C# & .NET 7.0 with Blazor Server for frontend.
  • GraphQL.Client for API and GraphQL interactions.
  • Newtonsoft.Json for JSON serialization/deserialization.
  • Blazored.Modal for modal dialogs.
  • CSS with Bootstrap 5 for styling.
  • Natural Language Processing (NLP) support via backend (API).
  • Azure DevOps / GitHub Actions for CI/CD and deployment.

Installation

Prerequisites

  • .NET 7.0 SDK or later.
  • A code editor or IDE compatible with Blazor, e.g., Visual Studio 2022 or VS Code with C# extension.
  • Docker (optional) if using the provided devcontainer setup.
  • Internet access for restoring NuGet packages.
  • Access to the corresponding backend API (shopping-assistant-api).

Setup Instructions

  1. Clone this repository:
    git clone https://github.com/Shchoholiev/shopping-assistant-web-client.git
    cd shopping-assistant-web-client
    
  2. Open the solution file ShoppingAssistantWebClient.sln in your IDE.
  3. Restore the NuGet packages:
    dotnet restore
    
  4. Configure API URL in appsettings.Development.json or appsettings.Production.json.
  5. Run the project:
    dotnet run --project ShoppingAssistantWebClient.Web
    
    or use your IDE's run/debug feature.
  6. Access the client at https://localhost:{port} as indicated in the launch settings.
  7. Use the chat interface to start interacting with the shopping assistant.

Optional:

  • Use the .devcontainer/devcontainer.json to run with VS Code Remote - Containers extension for a ready development environment.
  • Use GitHub Actions workflows for automated build and deployment to Azure.

Configuration

API URL

Set the backend API URL in the respective environment configuration file:

  • For development: ShoppingAssistantWebClient.Web/appsettings.Development.json
  • For production: ShoppingAssistantWebClient.Web/appsettings.Production.json

Example:

{
  "ApiUrl": "https://shopping-assistant-api.azurewebsites.net/"
}

Environment Variables

  • ASPNETCORE_ENVIRONMENT: Set to Development or Production accordingly.