Backlot is an opinionated framework on top of .NET Core for building API-centric web and back-end systems, powered by our own Movie Pattern Practice.
$ dotnet add package Backlot.Defaults
Four concepts. Clear separation. A uniform language across every project, every team and every team member.
Concise and reusable interfaces acting as an abstraction for underlying objects.
var anyobject {
Op = "sum"
}.Presents<IFormula>()
Concrete SOLID code pieces that implement business logic and encapsulate behavior.
await Calculate
.With(formula)
.Play();
Observer scenarios and their events, react or trigger new scenarios as follow-ups
WatchAll<DebugWatcher>(); Watch<Login, MailWatcher>();
Central orchestration component to manage executions across different hosts.
.ConfigureBacklotWeb((c, b) => new WebDirector());
Each block features a sensible default and adheres to SOLID principles to enable straightforward replacements.
The foundational building block that powers every Backlot project.
Built-in secure authentication providers out of the box, plus a clean pattern to plug in your own.
RavenDB, LiteDB, or SQL. Pick the right store that fits your project best, without rewriting code.
Built-in storage providers that match your host. Replacable by any cloud storage of your own.
Swap hosts by changing configuration only. We support ASP.NET web apps, Azure Functions, plain consoles and more to come.
Owe to our flexible rolecreate and mediaformatter practices. We support multiple dataformats for both in- and output.
Skip the boilerplate. Declare a scenario, define the Roles you need, and find the entities (Actors) who can play these roles. The framework wires it into endpoints, a fluent C# API and serve you with a authentication and database storage out of the box.
[Scenario(typeof(HelloWorld), access: [Access.Everyone])]
public class HelloWorld(IDirector role) :
Scenario<HelloWorld, IDirector, string>(role)
{
protected override string Exec()
{
return "Hello World!";
}
}
“Close the gap between describing software and building it, Backlot support teams to collaborate in a clear, uniform, agile way.”
Our mission!
Spin up your first scenario now. Backlot does the wiring, so you can focus on doing the interesting bits.