TEP is a open-source project written in .NET Core for BackEnding VR Trainning Aplications.
Besides providing services for storage and edition tools; score processing; and alternative apps, such as Quizzes, this project aims to be used as self-learning PBL project by the authors. 🎓
(not) Running at: https://tepvr.azurewebsites.net/ (DataBase is currently down)
- You will need the latest Visual Studio 2019 (or VS Code) and the latest .NET Core SDK.
- The latest SDK and tools can be downloaded from link.
- You also need an Instance of Sql Server running:
- Docker:
docker run -e 'ACCEPT_EULA=y' -e 'SA_PASSWORD=1StrongPwd!!' -e 'MSSQL_PID=Express' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-latest-ubuntu
- Configure an Enviroment Variable with the ConnectionString:
"ConnectionStringTep": "Data Source=localhost,1433;Initial Catalog=db_teps;User ID=SA;Password=1StrongPwd!!;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
- Docker:
- ASP.NET Core 3.1 (with .NET Core 3.1)
- ASP.NET Core with JWT Bearer Authentication
- Entity Framework Core 3.1
- AutoMapper
- FluentValidation
- MediatR
- MSTests
- Coverage*
- Swagger*
- GitHub Actions
- Full architecture with responsibility separation concerns, SOLID and Clean Code*
- Domain Driven Design
- Domain Events*
- Domain Notification*
- Domain Validations*
- CQRS
- Event Sourcing*
- Unit of Work*
- Repository*
- Common web application architectures: link
- Fundamentos de Arquitetura de Software: link
- Modelo C4 de documentação: link
- Services: link
- Clean Architecture with ASP.NET Core 3.0: link
- A Brief Intro to Clean Architecture, Clean DDD, and CQRS: link
- IActionResult and ActionResult: link
- Create web APIs with ASP.NET Core: link
- Model Binding in ASP.NET Core: link
- Deploy a WebApp: link
- Caching in ASP.NET Core: link
- Compression in ASP.NET Core: link
- Arquitetura em camadas com DDD: linkparte-01-criando-arquitetura-em-camadas-com-ddd-inje%C3%A7%C3%A3o-de-dep-ef-60b851c88461)
- Create Data Transfer Objects (DTOs): link
- DDD ASP.NET: link
- DDD: Repository Implementation Patterns: link
- Domain-Driven Design: Atacando as Complexidades no Coração do Software: link
- Services in Domain-Driven Design (DDD): link
- Step by step - Run and Connect to SQL Server in Docker: link
- Docker - Guia de Referência Gratuito: Docker Guide
- Entity Framework Core: link
- Criando uma API com ASP.NET Core 3 e EF Core 3 em menos de 15 minutos: link
- Entity Framework Core Guide: link
- Migrations: link
- Fluent validation: link
- Mediator Pattern com MediatR no ASP.NET Core: link
- Clean ASP.NET Core API using MediatR and CQRS: link
- Validation using MediatR's Pipeline Behaviors and FluentValidation: link
- Monolith Decomposition Patterns: link
- Logging in .NET Core 3.0 and Beyond: link
- SOAP vs REST vs JSON: link
- What is REST: link
- Architectural Styles and the Design of Network-based Software Architectures: linkfielding_dissertation.pdf)
- JSON:API: link
- Autenticação e Autorização com Bearer e JWT: link
- JWT com chave simétrica: link
- Policy based role checks: link
- Safe storage of app secrets in development in ASP.NET Core: link
- Test-Driven Development: link
- Unit test your code: link
- Mocking em testes unitários com o framework Moq: link
- Moq QuickStart: link
- Como Testar o ASP.NET Core Web API: link
- MSTest Cheat Sheet: link
- .NET Core — API Versioning: link
- aspnet-api-versioning: link
- Documenting an ASP.NET Core API: link
- How to add method description in Swagger UI in WebAPI Application: link
- Efficient post calls with HttpClient and JSON.NET: link
- Upload files: link
- multipart requests with JSON and file: link
- Dependency injection: link
- Generating realistic fake data in .NET using Bogus: link
- Background tasks with hosted services in ASP.NET Core: link
- No need for repositories and unit of work with Entity Framework Core: link