Getting started with Kpok Patagon Framework

Abstracts

This framework provides to the application developers the following functionalities (among others).

  • ORM
  • Cryptography.
  • Domain object modeling
  • Data services
  • Common components and models used by most applications

To use this framework just include the packages you need in your project and go.

Packages

It is composed by the following components provided as NuGet packages.

Technical documentation can be found here: Kpok Patagon Framework class library.

Core

  • KpokPatagon.Core

    The core component and the root of all other packages.

  • KpokPatagon.Data

    The data component that allows the development of domain model objects, data services, ORM and more, in a database agnostics way, so the code can be used for any database engine.

Data access layer

  • KpokPatagon.Data.MySql

    This package provides components that transparantly allows the developer to store application data in a MySql database.

  • KpokPatagon.Data.Oracle

    This package provides components that transparantly allows the developer to store the application data in an Oracle database.

  • KpokPatagon.Data.SQLite

    This package provides components that transparantly allows the developer to store the application data in a SQLite database.

  • KpokPatagon.Data.SqlServer

    This package provides components that transparantly allows the developer to store the application data in a Microsoft Sql Server database.

Library

  • KpokPatagon.Auditing

    This package provides services to generate and process data model modification auditing information.

  • KpokPatagon.Cache

    The cache component that allows the development to store data in a service cache that can store information in memory or in a Redis cache.

  • KpokPatagon.CLI

    This package provides common models and services usefull for develop CLI applications.

  • KpokPatagon.Commons

    This package provides common components, domain object models, their data services, a numerator and a parameter service, usefull for many applications.

  • KpokPatagon.Models

    This packages provides common models usefull for many applications.

  • KpokPatagon.Multitenancy

    Provides components for multi-tenenat applications.

Web

  • KpokPatagon.AspNet

    Provides components for building Asp.Net web applications.

  • KpokPatagon.AspNet.Multitenancy

    Provides components for multi-tenant Asp.Net web applications like model binders, tenant providers and more.

Architecture

You develop an application by creating class libraries that will contain the application business logic, data model objects and data services.

This class library will reference (at a minimum) the core and the data component, this will made the application database agnostic.

Then you will create a web application (or other kind: UWP, Console, etc.) for the user interface and within this (the deployable binaries) you will include the components for the database to use (Oracle or Sql Server, etc.) and use the IoC container to inject an appropiate set of components according to the actual environment.

What's next

From the home page of this documentation explore the framework topics like configuration, domain object models, data services, ORM, etc. or see the technical documentation.

View the Documentation Repo samples directory for samples of how to use this framework.