SapphireDb is a self-hosted, easy to use realtime database for Asp.Net Core and EF Core.
It creates a generic API you can easily use with different clients to effortlessly create applications with realtime data synchronization. SapphireDb should serve as a self hosted alternative to firebase realtime database and firestore on top of .Net.
Check out the documentation for more details: Documentation
- ๐ง Dead simple configuration
- ๐ก Broad technology support
- ๐ป Self hosted
- ๐ฑ Offline support
- ๐พ Easy to use CRUD operations
- โก Model validation
- โ๏ธ Database support
- ๐ Supports joins/includes
- โฟ Complex server evaluated queries
- ๐ Actions
- ๐ Authorization included
- โ๏ธ Messaging
- ๐ Scalable
To install the package execute the following command in your package manager console
PM> Install-Package SapphireDb
You can also install the extension using Nuget package manager. The project can be found here: https://www.nuget.org/packages/SapphireDb/
You now have to change your DbContext to derive from SapphireDbContext
.
// Change DbContext to SapphireDbContext
public class MyDbContext : SapphireDbContext
{
public MyDbContext(DbContextOptions<MyDbContext> options) : base(options)
{
}
public DbSet<User> Users { get; set; }
public DbSet<Test> Tests { get; set; }
}
To use the SapphireDb you also have to make some changes in your Startup.cs
-File.
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
//Register services
services.AddSapphireDb(...)
.AddContext<MyDbContext>(cfg => ...);
}
public void Configure(IApplicationBuilder app)
{
//Add Middleware
app.UseSapphireDb();
}
}
Check out the documentation for more details: Documentation
SapphireDb - Server for Asp.Net Core
sapphiredb - JS client (JS, NodeJs, React, Svelte, ...)
ng-sapphiredb - Angular client
SapphireDb - MIT License
sapphiredb-js - MIT License