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.
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.
.NET Core 2.2
dotnet run --project src\DND.Web\DND.Web.csproj
Login to /admin with username: admin password: password
All web host processes and database creation/teardown have been automated using xUnit/NUnit test fixtures.
No database required. No Domain Events fired.
Execute batch\test\UnitTests.bat
OR
dotnet test test\DND.UnitTests\DND.UnitTests.csproj
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
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
Publish DND.Web
- MVC Core - Microsoft .NET framework
- Bootstrap 4 - responsive HTML, CSS, JS framework
- Angular - Google JS framework
- Automapper - Convention based object-object mapper
- Entity Framework Core - Microsoft ORM framework
- MongoDB - NoSQL database
- Serilog - Structured Logging
- Seq - Structured Logging Query Engine
- Autofac - Dependency injector for .NET
- Hangfire - Background job processing
- Swagger - API testing
- Http Cache Headers - ETags
- WebSurge - Load Testing
- xUnit - Open Source .NET Testing framework
- NUnit - .NET Testing framework
- Moq - .NET mocking framework
- SpecFlow - Behaviour Driven Development (BDD) testing framework
- Selenium - Browser Automation
- .NET Core CLI - .NET Core Command Line Tools
- .NET Core WebApplicationFactory/TestServer - InProcess Integration Tests
- Stackify Prefix - Runtime performance profiler for .NET Core
- MiniProfiler - Runtime performance profiler for .NET Core
- Visual Studio Team Services - Continuous Integration (CI) and Continuous Deployment (CD)
- Identity Server 4 - .NET Core Identity Provider
- NCrunch - Concurrent testing tool for Visual Studio
- RobotsTxtMiddleware
- Conveyor
- Dave Ikin - davidikin45
This project is licensed under the MIT License