MsCoreOne Save

MsCoreOne is a simple Ecommerce with using many technologies such as .NET 5, Entity Framework Core 5, React 16.13 with modern Clean Architecture, Domain-Driven Design, CQRS, SOLID, Identity Server 4, Blazor. It will focus on resolving the problems always see in the process to develop projects.

Project README

MsCoreOne - Simple Ecommerce (Upgrading is comming!)

This is a simple ecommerce to practice technologies.

Build Status

Build server Platform Status
Travis Linux / MacOS Build Status
Azure DevOps Linux Build Status

alt text

The technologies have implemented as image above.

Technologies Yes/No
ASP .NET Core
ASP .NET Core Mvc
Entity Framework Core
Identity Server 4
Swagger UI
React + Typescript
Vue.js
Sql Server
PostgresQL
Blazor/Angular

Onion Architecture

alt text

ASP.NET Core architecture diagram following Clean Architecture

alt text

You probally access to link to get more detail for common web application architectures

Layers Example

alt text

Account default

Docker build

Prerequisite

  • Installed Docker on your computer

Steps to run

  • At deployment folder
  $ docker-compose -f docker-compose-infra.yml up
  $ docker-compose build
  $ docker-compose up

Notes

  • Updating MSCOREONE_DB_HOST's value is ([your IP], 1433) in .env file. Ex. 192.168.131.97,1433
  • Adding ([your IP] mscoreone-portal.local) in hosts file. Ex. 192.168.131.97 mscoreone-portal.local

Running integration test and watching code coverage

You need to some require external nuget packages. Install Converlet and FluentAssertions for your project using the following cli commands.

To get converlet to collect code coverage for your codebase, we need just to run the following command at the repository root.

dotnet test MsCoreOne.IntegrationTests.csproj  /p:CollectCoverage=true /p:CoverletOutputFormat=\"opencover\" /p:CoverletOutput=BuildReports\Coverage\ /p:ExcludeByFile=\"**/Persistence/ApplicationDbContextSeed.cs\" /p:Exclude=\"[*]MsCoreOne.Infrastructure.Migrations.*,[*]MsCoreOne.Pages.*,[*]MsCoreOne.Areas.*\"

Distributed Caching with Redis

To testing with redis cache, you can install redis by the following way:

  1. Install manually redis from github repo and that download zip file that is compatible with your windows, extract the zip folder, and open up redis-server.exe
  2. Using docker to up redis by access to development folder then open powershell and that run command bellow.
docker-compose -f .\docker-compose-infra.yml up redis

Note: You should update your IP in appsetting for redis configuration to make sure mscoreone-api connect to redis server successfully.

:handshake: Contributing

Contributions, issues and feature requests are welcome!

:man_astronaut: Show your support

Give a :star: if you like this project!

Open Source Agenda is not affiliated with "MsCoreOne" Project. README Source: trungcaot/MsCoreOne

Open Source Agenda Badge

Open Source Agenda Rating