Description
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
SapphireDb alternatives and similar packages
Based on the "API" category.
Alternatively, view SapphireDb alternatives based on common mentions on social networks and blogs.
-
Xamarin.Essentials
Xamarin.Essentials provides developers with cross-platform APIs for their mobile applications. -
FFImageLoading - Fast & Furious Image Loading
Fast & Furious Image Loading -
TLSharp
It's a perfect fit for any developer who would like to send data directly to Telegram users or write own custom Telegram client. -
Mobius: C# API for Spark
Mobius adds C# language binding to Apache Spark, enabling the implementation of Spark driver code and data processing operations in C#. -
RedditSharp
C# Implementation of the Reddit API. This is an ("unofficial") Fork of SirCmpwn/RedditSharp with Nuget package/support. -
Nelibur
Nelibur is message based web service framework on the pure WCF. Nelibur simplifies creating high-performance and message based web services and you certainly have all the power of the WCF. -
Lib.AspNetCore.ServerSentEvents
Lib.AspNetCore.ServerSentEvents is a library which provides Server-Sent Events (SSE) support for ASP.NET Core -
Breeze
Api framework enabling rich data access by using the OData 3 protocol. Client libraries available for Javascript and C#. -
Lib.Web.Mvc
Lib.Web.Mvc is a library bringing extensions to ASP.NET MVC for HTTP/2, Range Requests, Content Security Policy, jqGrid and more. -
CommandQuery
Command Query Separation for ASP.NET Web API 2, ASP.NET Core, AWS Lambda and Azure Functions. -
Developer Exception Json Response Middleware
Developer Exception Json Response Middleware -
ASP.NET Web API
Framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices -
ASP.NET WebAPI
Framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of SapphireDb or a related project?
README
SapphireDb - Server for Asp.Net Core 
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
Features
- :wrench: Dead simple configuration
- :satellite: Broad technology support
- :computer: Self hosted
- :iphone: Offline support
- :floppy_disk: Easy to use CRUD operations
- :zap: Model validation
- :heavy_check_mark: Database support
- :open_file_folder: Supports joins/includes
- :loop: Complex server evaluated queries
- :electric_plug: Actions
- :key: Authorization included
- :envelope: Messaging
- :globe_with_meridians: Scalable
Installation
Install package
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/
Configure DbContext
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; }
}
Register services and update pipeline
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();
}
}
Examples
Server
Client
Documentation
Check out the documentation for more details: Documentation
Implementations/Packages
Server
SapphireDb - Server for Asp.Net Core
Client
sapphiredb - JS client (JS, NodeJs, React, Svelte, ...)
ng-sapphiredb - Angular client
Author
Licenses
SapphireDb - MIT License
sapphiredb-js - MIT License
*Note that all licence references and agreements mentioned in the SapphireDb README section above
are relevant to that project's source code only.