Repository Framework

Help the project

Reach out us on Discord

Contribute: https://www.buymeacoffee.com/keyserdsoze

Showcase (youtube)

Showcase (code)

Rystem.RepositoryFramework allows you to use correctly concepts like repository pattern, CQRS, DDD and automated REPR (Request-Endpoint-Response) Pattern. You have interfaces for your domains, auto-generated api, auto-generated HttpClient to simplify connection "api to front-end", a functionality for auto-population in memory of your models, caching, a functionality to simulate exceptions and waiting time from external sources to improve your implementation/business test and load test.

Document to read before using this library: - Repository pattern, useful links: - Microsoft docs - Repository pattern explained - CQRS, useful links: - Microsoft docs - Martin Fowler - DDD, useful links: - Wikipedia - Microsoft docs - REPR (Request-Endpoint-Response) Pattern - MVC as Dinasours

Basic knowledge

CQRS and Repository are two sides of the same coin.

Framework abstractions

Design and nuget map

Framework design

Logic design and flow

The same flow is valid for ICommand/ICommandPattern and IQuery/IQueryPattern

Framework logic

Important!!!

Extends and use IRepository<T, TKey> and not IRepositoryPattern<T>

Extends and use IQuery<T, TKey> and not IQueryPattern<T>

Extends and use ICommand<T, TKey> and not ICommandPattern<T>

Abstractions (Domain)

You may find the documentation at this link

In memory integration (Infrastructure for test purpose, load tests or functionality tests)

You may find the documentation at this link

Migration tools (Tool to help during a data migration)

You may find the documentation at this link

Api.Server (Application for automatic integration of api endpoint for your repository or CQRS)

You may find the documentation at this link

Api.Client (Application for http client integration of api endpoint for your repository or CQRS)

You may find the documentation at this link

Azure TableStorage integration (default integration)

You may find the documentation at this link

Azure CosmosDB SQL integration (default integration)

You may find the documentation at this link

Azure BlobStorage integration (default integration)

You may find the documentation at this link

Dynamics Dataverse integration (default integration)

You may find the documentation at this link

Entity Framework integration (default integration)

You may find the documentation at this link

MsSql integration (default integration)

You may find the documentation at this link

Cache integration (with in memory default integration)

You may find the documentation at this link

Cache with Azure BlobStorage integration (default integration)

You may find the documentation at this link

Web UI for dashboard

You may find the documentation at this link

Client Api for Typescript/Javascript solutions

You may find the documentation at this link