miguelangelorocha / BankA

Web App to import, categorize and analyse bank transactions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BankA

Web App to import, categorize and analyse bank transactions

Description

BankA is the initial version of a web application that allow to see multiple bank accounts in one place by importing statement files. Transacations are automatically categorised by Categories and Merchants providing an overview of your income and expenses.

Demo

BankA

Technologies & Libraries:

  1. ASP.NET Core

  2. Entity Framework Core

  3. MediatR

  4. Serilog

  5. CsvHelper

  6. Angular

  7. Material Angular

Databases:

  1. Entity Framework Core In-Memory Database
  2. Sql Server (coming soon)

The project is configured to use the Entity Framework In Memory database if no connection string is defined on the appsettings.json file and ConnectionStrings:DefaultConnection section.

To use SQL Server database:

  1. Create an empty database
  2. Update the connection string on the appsettings.json file and ConnectionStrings:DefaultConnection section

How to run the application?

  1. Check out source code from this repository.
  2. Check out source code from DotNetLib8 repository.
  3. Using Visual Studio run BankA.WebApp project.
  4. Open BankA.Webpp/ClientApp and run 'npm install' 'npm run start'

Project Structure

The project implements a clean architecture. Clean architecture is a set of design principles that divides software components/modules into onion ring layers. The main idea is that code dependencies are supposed to only go from the outer layers to the inner ones. Clean architecture

Domain

The domain layer contains domain entities and business rules.

Application (Use cases)

The application layer implements the use cases / features of the application.

Infrastructure

The infrastructure layer implements data access, authentication and interfaces with external 3rd party libraries and APIS

WebApp

This is the entry point to the application and implements the REST APIs and the UI using Angular.

About

Web App to import, categorize and analyse bank transactions

License:MIT License


Languages

Language:C# 59.7%Language:TypeScript 27.3%Language:HTML 10.7%Language:SCSS 2.3%