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).
AI is a class library that uses generative AI for text and image generation. Technologies used:
AIDataGenerator is a console app that uses the AI class library to generate example data for the catalog. Technologies used:
Application is the application layer for the project. Technologies used:
- Resource-based Authorization
- FluentValidation
- Markdown (Markdig)
- Snowflake IDs (IdGen)
Application.Contracts contains the service interfaces and DTO models for the application layer.
BlazorApp is a Blazor web app for viewing and managing recipes. Technologies used:
BlazorApp.Client contains the Blazor WebAssembly components for the BlazorApp project.
Domain is the domain layer for the project. Technologies used:
Domain.Shared contains the value objects for the domain layer.
WebApi is a REST Web API that uses the WebApi.Shared class library to provide CRUD operations for managing recipes. Technologies used:
WebApi.Shared contains the minimal APIs that provide CRUD operations for managing recipes. Technologies used:
AI.Tests is a project containing tests for the AI project. Technologies used:
Application.Tests is a project containing tests for the Application project. Technologies used:
BlazorApp.Tests is a project containing tests for the BlazorApp project. Technologies used:
BlazorApp.Client.Tests is a project containing tests for the BlazorApp.Client project. Technologies used:
Domain.Tests is a project containing tests for the Domain project. Technologies used:
WebApi.Shared.Tests is a project containing tests for the WebApi.Shared project. Technologies used:
WebApi.Tests is a project containing tests for the WebApi project. Technologies used:
Seed data was created using the AIDataGenerator project with GPT-3.5 Turbo, Embedding V3 small, and DALL-E 3.