🍑
Nakedbank A simple full stack banking application.
Stack Composition
- .Net Core 3.1 link
- Entity Framework Core link
- Blazor WebAssembly link
- Swagger link
- MySql link
- Docker link
Third Party Libraries
SPA Blazor app based on Jason Watmore's github examples [github] [doc]
Project Composition
Project | Description |
---|---|
NakedBank.Application | Domain Service |
NakedBank.Domain | Domain Models & Value Objects |
NakedBank.Infrastructure | Data Layer, DbContext and Repositories |
NakedBank.Shared | Common DTOs |
NakedBank.WebApi | API Project |
NakedBank.Front | Blazor SPA |
NakedBank.Application.Tests | Test Project |
NakedBank.Domain.Tests | Test Project |
Tests
First time setup
With Docker installed, just open the solution on VS and run it on the default "Docker Compose" profile, the back-end should run without problems.
The project consists of three containers:
- Dotnet Core image built with the project
- MySql Official image
- Adminer image for database management
Running the front-end:
The Blazor front end will require to have it's appsettings.json changed accordly with the address set for the backend. You can find the file ~\NakedBank.Front\wwwroot\appsettings.json
What's missing
- Auth Token Recycling
- "Transfer" Operations
- User Profile Page
- Parametrization of some "magic strings"
- Better use of the Domain models, too much control on the services logic
- Better control of some visual components when not logged in (Blazor Webassembly right now still has some problems updating components when values change)
- Charts (most of them are paid, Chart.js has a port to Blazor but only documentation for the Server-Side version)
- More tests
Open API
Front-End
DISCLAIMER:
YES. The name is a silly joke with a purple brazilian bank