{"id":21980217,"url":"https://github.com/avanade/liquid-application-framework","last_synced_at":"2025-05-15T11:01:38.214Z","repository":{"id":37934571,"uuid":"351884418","full_name":"Avanade/Liquid-Application-Framework","owner":"Avanade","description":"Liquid Application Framework documentation, useful links and sample project","archived":false,"fork":false,"pushed_at":"2024-07-29T19:14:01.000Z","size":6895,"stargazers_count":491,"open_issues_count":22,"forks_count":56,"subscribers_count":26,"default_branch":"main","last_synced_at":"2025-04-07T04:18:19.322Z","etag":null,"topics":["abstraction-layer","api","architecture","aws","azure","cosmosdb","dotnet","dotnet-core","entity-framework-core","framework","gcp","grpc","hexagonal-architecture","microservices","mongodb","multicloud","rabbitmq","restful-api","servicebus","sqs"],"latest_commit_sha":null,"homepage":"","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/Avanade.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"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}},"created_at":"2021-03-26T18:59:26.000Z","updated_at":"2025-04-01T11:27:51.000Z","dependencies_parsed_at":"2023-10-12T01:33:00.615Z","dependency_job_id":"b5fa1413-1a54-4712-b643-c04226d91a94","html_url":"https://github.com/Avanade/Liquid-Application-Framework","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Avanade%2FLiquid-Application-Framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Avanade%2FLiquid-Application-Framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Avanade%2FLiquid-Application-Framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Avanade%2FLiquid-Application-Framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Avanade","download_url":"https://codeload.github.com/Avanade/Liquid-Application-Framework/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248910932,"owners_count":21182003,"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":["abstraction-layer","api","architecture","aws","azure","cosmosdb","dotnet","dotnet-core","entity-framework-core","framework","gcp","grpc","hexagonal-architecture","microservices","mongodb","multicloud","rabbitmq","restful-api","servicebus","sqs"],"created_at":"2024-11-29T17:09:59.679Z","updated_at":"2025-05-15T11:01:38.194Z","avatar_url":"https://github.com/Avanade.png","language":"C#","readme":"# Liquid Application Framework\n\n![GitHub issues](https://img.shields.io/github/issues/Avanade/Liquid-Application-Framework)\n![GitHub](https://img.shields.io/github/license/Avanade/Liquid-Application-Framework)\n![GitHub Repo stars](https://img.shields.io/github/stars/Avanade/Liquid-Application-Framework?style=social)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://avanade.github.io/code-of-conduct/)\n[![Ready Ava Maturity](https://img.shields.io/badge/Ready-Ava--Maturity-%23FF5800?labelColor=green)](https://avanade.github.io/maturity-model/)\n\nThis repository contains Liquid Application Framework full code, samples, templates and [documentation](docs/About-Liquid.md).\n\n## What is Liquid?\n\nLiquid is a **multi-cloud** framework designed to **accelerate the development** of cloud-native microservices while avoiding coupling your code to specific cloud providers.\n\nWhen writing Liquid applications, you stop worrying about the technology and focus on your business logic - Liquid abstracts most of the boilerplate and let you just write domain code that looks great and gets the job done.\n\n## Feature\n\n- Abstracts a number of services from cloud providers such as Azure, AWS and Google Cloud to enable you to write code that could run anywhere.\n- Brings a directed programming model that will save you time on thinking how to structure your application, allowing you to focus on writing business code.\n\n| Liquid Application Framework Binaries | Version |\n| :-- | :--: |\n| [`Liquid.Core`](https://www.nuget.org/packages/Liquid.Core) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.Core) |\n| [`Liquid.Repository.Mongo`](https://www.nuget.org/packages/Liquid.Repository.Mongo) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.Repository.Mongo) |\n| [`Liquid.Repository.EntityFramework`](https://www.nuget.org/packages/Liquid.Repository.EntityFramework) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.Repository.EntityFramework) |\n| [`Liquid.Repository.OData`](https://www.nuget.org/packages/Liquid.Repository.OData) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.Repository.OData) |\n| [`Liquid.Cache.Memory`](https://www.nuget.org/packages/Liquid.Cache.Memory) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.Cache.Memory) |\n| [`Liquid.Cache.NCache`](https://www.nuget.org/packages/Liquid.Cache.NCache) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.Cache.NCache) |\n| [`Liquid.Cache.Redis`](https://www.nuget.org/packages/Liquid.Cache.Redis) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.Cache.Redis) |\n| [`Liquid.Cache.SqlServer`](https://www.nuget.org/packages/Liquid.Cache.SqlServer) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.Cache.SqlServer) |\n| [`Liquid.Messaging.Kafka`](https://www.nuget.org/packages/Liquid.Messaging.Kafka) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.Messaging.Kafka) |\n| [`Liquid.Messaging.RabbitMq`](https://www.nuget.org/packages/Liquid.Messaging.RabbitMq) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.Messaging.RabbitMq) |\n| [`Liquid.Messaging.ServiceBus`](https://www.nuget.org/packages/Liquid.Messaging.ServiceBus) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.Messaging.ServiceBus) |\n| [`Liquid.WebApi.Http`](https://www.nuget.org/packages/Liquid.WebApi.Http) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.WebApi.Http) |\n| [`Liquid.Dataverse`](https://www.nuget.org/packages/Liquid.Dataverse) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.Dataverse) |\n| [`Liquid.Storage.AzureStorage`](https://www.nuget.org/packages/Liquid.Storage.AzureStorage) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.Storage.AzureStorage) |\n| [`Liquid.GenAi.OpenAi`](https://www.nuget.org/packages/Liquid.GenAi.OpenAi) | ![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Liquid.GenAi.OpenAi) |\n\n\n## Getting Started\n\nYou can use Liquid Templates to get your microservice started.\n\nInstall the templates by running the following dotnet CLI command at the PowerShell prompt :\n\n```Shell\ndotnet new install Liquid.Templates\n```\nand run dotnet new command with the name and parameters of the following templates:\n|Name|Description|\n| :-- | :-- |\n|`liquidcrudsolution`       |Liquid WebAPI CRUD Solution (Domain and WebAPI projects)              |\n|`liquidcrudaddentity`      |Liquid entity class, CRUD mediator handlers and CRUD controller       |\n|`liquiddomainaddhandler`   |Liquid mediator command handler                                       |\n|`liquiddomainproject`      |Liquid Domain project (mediator command handler)                      |\n|`liquidwebapisolution`     |Liquid WebAPI solution (Domain and WebAPI projects)                   |\n|`liquidwebapiaddentity`    |Liquid entity class, mediator command handler and CRUD controller     |\n|`liquidwebapiproject`      |Liquid WebAPI project                                                 |\n|`liquidworkersolution`     |Liquid WorkerService solution (Domain and WorkerService projects)     |\n|`liquidworkerproject`      |Liquid WorkerService project                                          |\n|`liquidbcontextaddentity`  |Liquid DbContext entity configuration class (for Entity Framework)    |\n|`liquiddbcontextproject`   |Liquid Repository project (EntityFramework DbContext configurations)  |\n\n\n### Sample:\nTo create an WebAPI solution with CRUD handlers, you must:\n- execute command :\n```Shell\ndotnet new liquidcrudsolution --projectName \"some root namespace\" --entityName \"some entity\" --entityIdType \"type of your unique ID\"\n```\n\n- open the folder where the command was executed, and open the project created in the IDE of your choice:\n\n![template_sample](https://user-images.githubusercontent.com/30960065/153954780-0ec8a6c0-153e-4bbc-8f3a-4ccc9c1e7858.png)\n\n- follow the instructions found in the generated code TODOs, and run!\n\n\u003e You can make changes in code, add more classes and project if you need, and also using others Liquid templates to do it!\n\n\n## Contribute\n\nSome of the best ways to contribute are to try things out, file issues, and make pull-requests.\n\n- You can provide feedback by filing issues on GitHub or open a discussion in [Discussions tab](https://github.com/Avanade/Liquid-Application-Framework/discussions). We accept issues, ideas and questions.\n- You can contribute by creating pull requests for the issues that are listed. Look for issues marked as _ready_ if you are new to the project.\n- Avanade asks that all commits sign the [Developer Certificate of Origin](https://developercertificate.org/).\n\nIn any case, be sure to take a look at [the contributing guide](CONTRIBUTING.md) before starting, and see our [security disclosure](https://github.com/Avanade/avanade-template/blob/main/SECURITY.md) policy.\n\n## Who is Avanade?\n\n[Avanade](https://www.avanade.com) is the leading provider of innovative digital, cloud and advisory services, industry solutions and design-led experiences across the Microsoft ecosystem.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favanade%2Fliquid-application-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favanade%2Fliquid-application-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favanade%2Fliquid-application-framework/lists"}