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