/RecipeCatalog

Recipe Catalog is a multilayered .NET 8 project showcasing a Web catalog for recipes with AI capabilities.

Primary LanguageC#

Recipe Catalog

GitHub Actions Workflow Status Codecov Code Coverage

Recipe Catalog is a multilayered .NET 8 project showcasing a Web catalog for recipes with AI capabilities.

This project contains continuous integration (CI) and continuous deployment (CD) workflows using GitHub Actions. Code coverage reports are uploaded to Codecov. The web app is deployed to Azure Web Apps (Azure App Service).

Projects

AI

AI is a class library that uses generative AI for text and image generation. Technologies used:

AIDataGenerator

AIDataGenerator is a console app that uses the AI class library to generate example data for the catalog. Technologies used:

Application

Application is the application layer for the project. Technologies used:

Application.Contracts

Application.Contracts contains the service interfaces and DTO models for the application layer.

BlazorApp

BlazorApp is a Blazor web app for viewing and managing recipes. Technologies used:

BlazorApp.Client

BlazorApp.Client contains the Blazor WebAssembly components for the BlazorApp project.

Domain

Domain is the domain layer for the project. Technologies used:

Domain.Shared

Domain.Shared contains the value objects for the domain layer.

WebApi

WebApi is a REST Web API that uses the WebApi.Shared class library to provide CRUD operations for managing recipes. Technologies used:

WebApi.Shared

WebApi.Shared contains the minimal APIs that provide CRUD operations for managing recipes. Technologies used:

Tests

AI.Tests

AI.Tests is a project containing tests for the AI project. Technologies used:

Application.Tests

Application.Tests is a project containing tests for the Application project. Technologies used:

BlazorApp.Tests

BlazorApp.Tests is a project containing tests for the BlazorApp project. Technologies used:

BlazorApp.Client.Tests

BlazorApp.Client.Tests is a project containing tests for the BlazorApp.Client project. Technologies used:

Domain.Tests

Domain.Tests is a project containing tests for the Domain project. Technologies used:

WebApi.Shared.Tests

WebApi.Shared.Tests is a project containing tests for the WebApi.Shared project. Technologies used:

WebApi.Tests

WebApi.Tests is a project containing tests for the WebApi project. Technologies used:

Seed Data

Seed data was created using the AIDataGenerator project with GPT-3.5 Turbo, Embedding V3 small, and DALL-E 3.