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 libraries
Based on the "API" category.
Alternatively, view SapphireDb alternatives based on common mentions on social networks and blogs.
-
React Query
๐ค Powerful asynchronous state management, server-state utilities and data fetching for TS/JS, React, Solid, Svelte and Vue. [Moved to: https://github.com/TanStack/query] -
urql
The highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow. -
Apollo and GraphQL for Vue.js
๐ Apollo/GraphQL integration for VueJS -
wretch
A tiny wrapper built around fetch with an intuitive syntax. :candy: -
Swagger Client
Javascript library to connect to swagger-enabled APIs via browser or nodejs -
Optic
OpenAPI linting, diffing and testing. Optic helps prevent breaking changes, publish accurate documentation and improve the design of your APIs. -
Vue Query
Hooks for fetching, caching and updating asynchronous data in Vue -
amygdala
RESTful HTTP client for JavaScript powered web applications. -
oauth-signature-js
JavaScript OAuth 1.0a signature generator (RFC 5849) for node and the browser -
prim-rpc
Easy-to-understand, type-safe, transport-agnostic RPC/IPC for JavaScript, supporting callbacks, batching, file handling, custom serialization, and more. -
Rails Ranger
๐ค An opinionated AJAX client for Ruby on Rails APIs -
Angular Chat App Example
Build a simple group chat application with Angular 7 from scratch -
Bearer API Client for JavaScript
Bearer provides all of the tools to build, run and manage API integrations. -
Bearer.sh
Universal API client that supports OAuth / API Key / Basic / etc. -
GazeRecorder
GazeRecorder | Behavior Analytics Made Easy | Website Eye-Tracking Heatmaps -
Vicis
Presentation and transformation layer for data output in RESTful APIs.
Amplication: open-source Node.js backend code generator
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
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.