Skip to content

vicdotexe/Coalesce

 
 

Repository files navigation

Coalesce

Documentation · Get Started · Builds

Coalesce is a framework for rapid-development of ASP.NET Core Vue.js web applications. It works from the Entity Framework Core data model that you design, automating the creation of the glue - DTOs, API Controllers, and TypeScript - that sit between your data and the UI of your application.

Fundamentals

  • Code Generation: Write your data model. We'll build the DTOs, API controllers, and TypeScript files that are needed to start building a front-end UI right away. A full suite of CRUD endpoints are generated with inner-workings that are overridable.
  • Extensibility: We don't want to box you in - one of the primary goals of Coalesce is to be as flexible as possible. If something that Coalesce is doing doesn't quite fit your needs, you can configure it or override it easily. You should never feel like you need to eject from the framework.
  • Security: Coalesce is designed with security in mind. All classes, properties, and methods can be restricted per-role, or be completely excluded from the generated APIs. Row-level security can be implemented using custom data sources. The guiding principal here is that it should always be easy to know exactly what parts of your data Coalesce is exposing for you. Read more about security in the Coalesce Documentation.

Features

  • CRUD for EF models: For each DbSet<> on your DbContext, a full set of /get, /save, /delete, /count, and /list endpoints are created. Each can be secured or omitted entirely via attributes, or customized with much greater granularity with custom Data Sources and/or Behaviors. /list and /count have paging, searching, sorting, and filtering built-in.
  • Endpoints for Methods: For functionality that doesn't fit the mold of a CRUD action against an entity, place methods on your entities and annotate with [Coalesce] - controllers and TypeScript will be built for those as well. Have functions that don't belong on an entity class? Place them in a service class marked with [Coalesce] instead - you'll get the same set of features.
  • Modern SPA Tooling: Coalesce provides a seamless development experience between your ASP.NET Core server and your front-end Vue app using Vite. Leverage Vite's rich plugin ecosystem with hot module replacement, and launch your entire application ‐ frontend and backend ‐ with a single dotnet run or Visual Studio "F5". (For legacy Coalesce apps, Knockout.js is still supported as an alternative to Vue, but is no longer under active development and has limited feature support.)
  • ... and more! Check out the documentation to see all of Coalesce's features in-depth: https://intellitect.github.io/Coalesce

Get Started

The best way to get started with Coalesce is using the dotnet new template:

  • Vue: dotnet new install IntelliTect.Coalesce.Vue.Template; dotnet new coalescevue

This command will use the current folder name for the project names, namespaces, etc. It will create a solution in the current folder with .Data and .Web projects.

After you create your project, you should start reading through the Documentation to see all the things that Coalesce can do.

Builds

channel build IntelliTect.Coalesce coalesce-vue
dev GitHub Workflow Status (branch) NuGet npm
master GitHub Workflow Status (branch) NuGet

Contributing

See the contribution guide here.

About

Helping you quickly build amazing sites

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 46.8%
  • TypeScript 28.3%
  • HTML 14.4%
  • Vue 9.4%
  • Other 1.1%