Skip to content

Repository files navigation

🧰 Datasync Toolkit

The Datasync Community Toolkit is a collection of libraries that implement a client-server system used for synchronizing data from the database table. The Datasync Community Toolkit is a member of the Community Toolkit organization and published under the dotnet Foundation.

Currently, the library supports:

The client platforms that have been tested include:

We support most databases that are supported by Entity Framework Core, along with an in-memory store and LiteDb. Support for additional database types is easily added through our flexible repository pattern.

Other platforms may work, but have not been tested.

🙌 Getting Started

Please take a look at the tutorials included in our documentation.

You can easily get started by using the dotnet new command to create a new datasync server. The template pre-configured ASP.NET Core, Entity Framework Core, and the Datasync server libraries. To install the template:

dotnet new -i CommunityToolkit.Datasync.Server.Template.CSharp

To create a project:

mkdir My.Datasync.Server
cd My.Datasync.Server
dotnet new datasync-server

📦 NuGet Packages

The following NuGet packages have been published:

PackageVersionDownloads
CommunityToolkit.Datasync.ClientClient Library VersionClient Library Downloads
CommunityToolkit.Datasync.ServerCore Library VersionCore Library Downloads
CommunityToolkit.Datasync.Server.AbstractionsAbstractions Library VersionAbstractions Library Downloads
CommunityToolkit.Datasync.Server.AutomapperAutomapper Library VersionAutomapper Library Downloads
CommunityToolkit.Datasync.Server.CosmosDBCosmosDB Library VersionCosmosDB Library Downloads
CommunityToolkit.Datasync.Server.EntityFrameworkCoreEFCore Library VersionEFCore Library Downloads
CommunityToolkit.Datasync.Server.InMemoryInMemory Library VersionInMemory Library Downloads
CommunityToolkit.Datasync.Server.LiteDbLiteDb Library VersionLiteDb Library Downloads
CommunityToolkit.Datasync.Server.MongoDBMongoDB Library VersionMongoDB Library Downloads
CommunityToolkit.Datasync.Server.NSwagNSwag Library VersionNSwag Library Downloads
CommunityToolkit.Datasync.Server.OpenApiOpenApi Library VersionOpenApi Library Downloads
CommunityToolkit.Datasync.Server.SwashbuckleSwashbuckle Library VersionSwashbuckle Library Downloads

Running Live Tests

The test suite for the library includes "live tests" against real servers that are not normally run. To run those tests, you will need access to an Azure account (you can sign up for one for free):

  1. Install the Azure Developer CLI
  2. Run azd up in a command line.

This script will create several resources. The cost of running those resources is approximately $40/month (US dollars). However, you will only have to run the services for less than an hour, so the cost of testing the library should be minimal. The process will create a .runsettings file in the tests directory which you can use to enable the live testing.

Live testing can be run using the Visual Studio Test Explorer or via dotnet test.

Once you have completed running the tests, you can remove the created services using azd down. This will also remove the .runsettings file so that live tests are not attempted any more.

NOTE: The .runsettings file contains secrets. It should not be checked in. We have added this file to the .gitignore to ensure that it is not checked into public GitHub repositories.

🌍 Roadmap

Read what we plan for next iterations, and feel free to ask questions.

🚀 Contribution

We welcome community contributions. Check out our contributing guide to get started.

📄 Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

🏢 .NET Foundation

This project is supported by the .NET Foundation.

History

The Datasync Toolkit used to be known as Azure Mobile Apps. You can find the code for previous (unsupported) versions of the library at the old repository.

About

A collection of libraries that implement a client-server system used for synchronizing data from a cloud-based database.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages