• Stars
    star
    493
  • Rank 88,815 (Top 2 %)
  • Language
    C#
  • License
    MIT License
  • Created over 3 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Liquid Application Framework documentation, useful links and sample project

Liquid Application Framework

GitHub issues GitHub GitHub Repo stars Contributor Covenant Ready Ava Maturity

This repository contains Liquid Application Framework full code, samples, templates and documentation.

New Major Version Warning
  • This is the new major version of Liquid Application Framework, launched on April/2021.
  • We've made significant breaking changes and a complete rearchitecture of our framework. So, this version isn't compatible and there is no easy conversion from the old one.
  • We decided to deprecate the old version and it will not receive any kind of updates, not even bug fixes. But, for historical purposes and to allow anyone relying on it to fork the code and maintain its own version of it, we'll keep the old repository public.

What is Liquid?

Liquid is a multi-cloud framework designed to accelerate the development of cloud-native microservices while avoiding coupling your code to specific cloud providers.

When 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.

Feature

  • 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.
  • 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.

Getting Started

To use Liquid, you create a new base ASP.Net Core application and then download and install the following nuget packages:

Liquid Application Framework Binaries Type Version
Liquid.Core mandatory Nuget (with prereleases)
Liquid.Domain desirable Nuget (with prereleases)
Liquid.Repository optional Nuget (with prereleases)
Liquid.Cache optional Nuget (with prereleases)
Liquid.Messaging optional Nuget (with prereleases)
Liquid.Services optional Nuget (with prereleases)
Liquid.WebApi.Http optional Nuget (with prereleases)

And then choose the implementation cartridges you need to your project, for example:

Liquid Templates new

Now you can use Liquid Templates to get your microservice started faster!

To use it, just install the templates by running the following dotnet CLI command at the PowerShell prompt :

dotnet new --install Liquid.Templates

and run dotnet new command with the name and parameters of the following templates:

Name Description
liquidcrudsolution Liquid WebAPI CRUD Solution (Domain and WebAPI projects)
liquidwebapisolution Liquid WebAPI solution (Domain and WebAPI projects)
liquidcrudextsolution Liquid CRUD Extension solution (Domain and WebAPI projects)
liquidworkersolution Liquid WorkerService solution (Domain and WorkerService projects)
liquiddomainaddhandler Liquid mediator command handler
liquidcrudaddentity Liquid entity class, CRUD mediator handlers and CRUD controller
liquidcrudextaddentity Liquid CRUD Extension entity and controller classes
liquidwebapiaddentity Liquid entity class, mediator command handler and CRUD controller
liquidbcontextaddentity Liquid DbContext entity configuration class (for Entity Framework)
liquiddbcontextproject Liquid Repository project (EntityFramework DbContext configurations)
liquidwebapiproject Liquid WebAPI project
liquidworkerproject Liquid WorkerService project
liquiddomainproject Liquid Domain project (mediator command handler)

Sample:

To create an WebAPI solution with CRUD handlers, you must:

  • execute command :
dotnet new liquidcrudsolution --projectName "some root namespace" --entityName "some entity" --entityIdType "type of your unique ID"
  • open the folder where the command was executed, and open the project created in the IDE of your choice:

template_sample

  • follow the instructions found in the generated code TODOs, and run!

You can make changes in code, add more classes and project if you need, and also using others Liquid templates to do it!

Contribute

Some of the best ways to contribute are to try things out, file issues, and make pull-requests.

  • You can provide feedback by filing issues on GitHub or open a discussion in Discussions tab. We accept issues, ideas and questions.
  • 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.
  • Avanade asks that all commits sign the Developer Certificate of Origin.

In any case, be sure to take a look at the contributing guide before starting, and see our security disclosure policy.

Useful Links

Liquid Application Framework Old Repositories
Liquid.Core
Liquid.Domain
Liquid.Repository
Liquid.Cache
Liquid.Messaging
Liquid.Services
Liquid.WebApi
Liquid.Serverless
Liquid.Tests

Who is Avanade?

Avanade is the leading provider of innovative digital, cloud and advisory services, industry solutions and design-led experiences across the Microsoft ecosystem.

More Repositories

1

Beef

The Business Entity Execution Framework (Beef) framework, and the underlying code generation, has been primarily created to support the industrialization of API development.
C#
133
star
2

SitecoreFoundation

Sitecore Development Accelerator
JavaScript
46
star
3

Liquid-Application-Framework-1.0-deprecated

Liquid is a framework to speed up the development of microservices
C#
26
star
4

UnitTestEx

UnitTestEx provides .NET testing extensions to the most popular testing frameworks (MSTest, NUnit and Xunit) specifically to improve the testing experience with ASP.NET controller, and Azure Function, execution including underlying HttpClientFactory mocking.
C#
24
star
5

CoreEx

CoreEx provides enriched capabilities for building business services by extending the core capabilities of .NET.
C#
18
star
6

DevOpsHOL

PowerShell
15
star
7

NTangle

nTangle is a Change Data Capture (CDC) code generation tool and corresponding runtime. Unlike other CDC-based technologies which replicate changes to rows, nTangle is designed to replicate business entity (aggregate) changes.
C#
15
star
8

Liquid.Core-deprecated

Liquid Application Framework - Core components and base classes
C#
9
star
9

DbEx

DbEx provides database extensions for DbUp-inspired database migrations.
C#
8
star
10

Liquid.Tests-Deprecated

Liquid Application Framework - Unit tests base classes
C#
7
star
11

Liquid.Services-Deprecated

Liquid Application Framework - Services caller base classes and supported cartridges
C#
6
star
12

emtech-stretch-labs

Repositories related to Avanade's exploration with Rocos, NextMind and Hello Robot.
Python
6
star
13

Liquid.Messaging-Deprecated

Liquid Application Framework - Messaging base classes and supported cartridges
C#
6
star
14

emtech-distributed-data

Avanade's exploration of SQL Ledger, Confidential Ledger, and other data sharing technologies.
TypeScript
6
star
15

Liquid.Serverless-Deprecated

Liquid Application Framework - Serverless Functions base classes and supported cartridges
C#
6
star
16

piControllerMenu

This repo contains a Raspberry PI controller menu that allows interaction with the RPi via a mini LCD display and 5 tactile buttons connected via GPIO. This is helpful in situations where you want to use your RPi headless, without screen, keybaord and mouse (such a process control or process automation scenarios) but want to interact and control your PI locally (ssh is not always convenient). This is very similar to functionality to your have on PLCs that allow local interaction, program execution and status from a built-in mini display.
Python
6
star
17

TechCommunityCalendar

The power behind TechCommunityCalendar.com, a roundup of events including hackathons, meetups and conferences, from around the world.
C#
6
star
18

gh-management

This tool allows an organization to manage users, and their association to a public GitHub, and a private GitHub enterprise (for InnerSource.)
Go
6
star
19

Liquid.Cache-Deprecated

Liquid Application Framework - Cache base classes and supported cartridges
C#
5
star
20

Liquid.Domain-Deprecated

Liquid Application Framework - Domain (DDD) base classes
C#
4
star
21

Liquid.WebApi-Deprecated

Liquid Application Framework - Web API base classes and supported cartridges
C#
4
star
22

meArmPi

This repo contains a Raspberry PI API for the meArm to be used in conjunction with Azure IoTHub to control the meArm via both REST and IoTHub messages.
Python
4
star
23

Liquid.Repository-Deprecated

Liquid Application Framework - Data access base classes and supported cartridges
C#
3
star
24

emtech-confidential-compute

Avanade's exploration of Confidential Compute technologies.
TypeScript
3
star
25

approval-system

A re-usable system for providing approvals and rejections, reusable in many projects.
CSS
3
star
26

OnRamp

Provides the base for code-generation tooling enabling a rich and orchestrated code-generation experience in addition to the templating and generation enabled using native Handlebars.
C#
3
star
27

university-partnering

A repository to link to, and showcase the work Avanade works on with universities.
1
star
28

.github

Avanade default files
1
star
29

emtech-xr

A repository for Avanade's experimentation and research around XR for business.
1
star
30

VoiceFontComposer

The voice font composer is an Azure based web app based on Azure components to help record data to be fed into the Microsoft Voice Font Cognitive Service.
JavaScript
1
star
31

2DOF-PI-WebRTC-Camera

IoT camera for multiple consumers using Azure IoT, IoTCentral, WebRTC and vdo.ninja. Due to the use of WebRTC, this IoT camera is firewall and NAT friendly :)
Python
1
star