Skip to content

Latest commit

History

118 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

SchulyPluginAbstractions

Schuly Logo

Plugin contract for the Schuly backend - distributed as a NuGet package

GitHub starsNuGet.NETDocumentation

The stable contract that plugins implement and that SchulyBackend consumes. Versioned and published as a NuGet package so plugin authors don't need to vendor backend source.

What's in this repo

  • ISchulyPlugin - entry point: register services, endpoints, migrations
  • IPluginLogin - account-connect contract, and the source of a plugin's school-system catalog entry
  • IPluginBackgroundTask - recurring background work
  • IPluginEventHandler<TCommand> - react to application commands
  • IPluginUserContext - read user claims / roles from inside a plugin

Consume in a plugin

<PackageReferenceInclude="Schuly.Plugin.Abstractions"Version="*" />

Implement ISchulyPlugin and the backend's plugin host discovers it automatically.

Documentation

Full documentation lives at docs.schuly.dev/SchulyPluginAbstractions.

GuideWhat it covers
The contractEvery interface, member by member, with worked examples.
Development setupBuild and test the package locally.
PublishingHow a release reaches NuGet.org.
VersioningSemver policy and what counts as breaking.
ContributingWorkflow, branch and PR conventions.

Writing a plugin against this contract? See Adding a plugin.

The Schuly ecosystem

RepoPurpose
SchulyFlutter mobile app
SchulyBackendASP.NET Core API backend
SchulyKeycloakKeycloak image + the schuly realm
SchulyPluginAbstractionsPlugin contract (NuGet) (this repo)
SchulyPluginsOfficial plugins monorepo
SchulyWebsiteLanding site (schuly.dev)
SchulyDocsDocumentation site (docs.schuly.dev)

About

Schuly plugin contract (NuGet package)

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages