A demo solution for various merchants to order furniture, gift, home décor, rug, and apparel items with tax calcualtions based on locality.
- .NET Core
- Entity Framework Core
- VueJS
- Mediator
- AutoMapper
- FluentValiation
- Xunit, Moq
- TaxJar
- ZipTax (alternative tax calculator)
Contains all entities specific to the domain with no dependencies on any other projects.
Contains all application logic and a dependency on the domain layer (has no depenedencies to other layer or project).
Contains classes for accessing external services as defined by interfaces in the application layer.
- TaxJarCalculator
- TaxService
- MerchantService
- ZipTaxCalculator (alternative tax calculator)
Contains api endpoints for accessing application layer logic.
Contains a VueJS single page application with .NET Core backend.
Note this is only needed if you want to run client app proxy over https, app will run without it but hot reload won't work on changes made.
- Clone repo
- Replace PATH_TO_REPO_LOCATION in src/JavaScriptClient/setupcert.ps1 for
$webDir
with path to your repo - Open PowerShell in Administrator mode
- Run
cd PATH_TO_REPO_LOCATION/MerchantTaxApp/src/JavaScriptClient
- Run
.\setupcert.ps1
to setup localhost cert - Update src/JavaScriptClient/.env.local
VUE_APP_USE_HTTPS
to true - Update src/JavaScriptClient/appsettings.Development.json
Configuration.ClientUrl
to https://localhost:8080
- Open new VS Code terminal
- Run
cd src\Api
- Run
dotnet build
- Run
dotnet run
- Open VS Code terminal
- Run
cd src\JavaScriptClient
- Run
yarn
- Run
yarn serve
- Open new VS Code terminal
- Run
cd src\JavaScriptClient
- Run
dotnet build
- Run
dotnet run
Open JavaScriptClient in browser