zuyuz / TransactionData

Simple application, that processes XML and CSV files, stores content to database, queries data back, handles and logs exceptions along the way.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TransactionData application

.NET Core

This solution demonstrates how to create API, that accepts XML and CSV data files, containing simple "transaction" model, records and query to the data store, while logging all possible exceptions on the way.

Technologies

Overview

Application Core

TransactionData.Domain

This project contains domain of application, which includes: commands, constants, dtos, enums, events, models and queries.

TransactionData.Service.Interfaces

This project contains abstractions for TransactionData.Service.

Application Infrastructure

TransactionData.Data

This project contains all entityConfigurations, repositories and DbContext.

TransactionData.Data.Entities

This project contains all entities, that are used to generate tables, using EF Core code-first approach.

TransactionData.Data.Interfaces

This project contains data contractor interfaces, abstractions, that are used with Dependency injection to provide loose coupling between application and data provider.

TransactionData.Data.MSSql

This project contains Migrations for MSSQL database.

TransactionData.Data.Sqlite

This project contains Migrations for Sqlite database.

TransactionData.Service

This project contains command, query and event handlers for managing application requests.

TransactionData.IoC

This project represents Inversion of control, powered by ASP.NET Core Dependency injection mechanism. Introduces loose coupling between projects.

Outer Layer

TransactionData.WebUI

This project is based on ASP.NET Core 3.1. Represents outer layer of application, WebAPI. Contains user friendly interface, powered by Swagger.

Tests

TransactionData.UnitTests

This project contains application unit tests.

License

The content of this project itself is licensed under the Gnu general public license

About

Simple application, that processes XML and CSV files, stores content to database, queries data back, handles and logs exceptions along the way.

License:MIT License


Languages

Language:C# 100.0%