Skip to content

davidikin45/DigitalNomadDaveAspNetCore3

Repository files navigation

Digital Nomad Dave ASP.NET Core v3

Build status

A custom built Content Management System using Bootstrap 4, Angular, C# MVC Core, xUnit, SpecFlow, Selenium, Azure Devops - Previously VSTS, JwtTokens, OpenID Connect, Identity Server 4.

URLs

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

.NET Core 3.1

Installing

dotnet run --project src\DND.Web\DND.Web.csproj
Login to /admin with username: admin password: password

Running the tests

All web host processes and database creation/teardown have been automated using xUnit/NUnit test fixtures.

DND.UnitTests (In Memory DbContext)

No database required. No Domain Events fired.

Execute batch\test\UnitTests.bat
OR
dotnet test test\DND.UnitTests\DND.UnitTests.csproj

DND.IntegrationTests (WebApplicationFactory/TestServer)

Automatically creates an Integration database on Local\MSSQLLOCALDB, seeds and runs an in process TestServer. Domain Events fired.

Execute batch\test\IntegrationTests.bat
OR
dotnet test test\DND.IntegrationTests\DND.IntegrationTests.csproj

DND.UserIinterfaceTests (SpecFlow & Selenium)

Automatically creates a Integration database on Local\MSSQLLOCALDB, seeds and launches a Kestral Web Host using dotnet run. On completion database is deleted. Domain Events fired.

Set SeleniumUrl in test\DND.UITests\app.config
Execute batch\test\UITests.bat 
OR
dotnet test test\DND.UITests\DND.UITests.csproj

Deployment

Publish DND.Web

Architecture

DevOps - Continuous Integration (CI) & Continuous Deployment (CD)

Built With

Functionality and Patterns

  • Email
  • PDF, CSV, Excel Generation
  • MultiTenancy
  • Url Location
  • Content Localization
  • Response Caching
  • Middleware
  • Ambient Route Values
  • Health Checks
  • Razor Class Libraries
  • Worker Services
  • Application Parts
  • Background Tasks (Hosted Services and Hangfire)
  • Entity Framework (SQLServer, SQLite, InMemory)
  • Database Initialization
  • UoW/Repository Pattern
  • Richardson Maturity Model Level 3 API
  • Automapping
  • Domain Driven Design Modelling
  • DTO Modelling
  • Validation
  • Domain Events
  • Integration Events
  • HttpClient
  • JWT Authentication
  • ASP.NET Core Identity
  • OpenIDConnect + IdentityServer
  • CQRS
  • Specification Pattern
  • Clean Architecture
  • SignalR
  • Configuration and options pattern
  • Dependency Injection using Autofac
  • Logging using Serilog
  • Intergration Tests using WebApplicationFactory
  • UI Tests using SpecFlow and Selenium
  • Unit Tests using Moq

Authors

License

This project is licensed under the MIT License

Acknowledgments

Useful Learning Resources

About

My website. Built with ASP.NET Core 3.1

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published