slalombuild / blackslope.net Goto Github PK
View Code? Open in Web Editor NEW.Net Core reference architecture
License: MIT License
.Net Core reference architecture
License: MIT License
Integration with Identity Server 4
https://opentelemetry.io/docs/
Would be a useful integration that'd allow us to sanely track behaviour between AWS/Azure/etc.
Can we create a NuGet package for the reusable api host code? If I wanted to create multiple api hosts I would be duplicating a lot of the common code. Perhaps an official Slalom.BlackSlope.Api.Core could solve this. If the Api layer was really thin maybe only specifying operations, models, mappers and validated and then all the other common code could go into NuGet package. Common could should be open source too so that it can be contributed to, a new repo will be required. Perhaps we could get. GitHub Project called BlackSlope and then have multiple repos to support Api and NuGet package code.
Blocked by API Management OpenAPI 3.0 support becoming Generally Available, see https://azure.microsoft.com/en-au/updates/azure-api-management-openapi-v3-preview/
We need to extract out the Common library into a standalone package.
The idea being that this is a stepping stone to more dynamic configuration within Blackslope. Once we've spun the Common package out we can begin extracting subsets of functionality from it into their own Nuget packages.
Ultimately, we can use this structure to extract out "opinionated" tooling from our Common package until only the most basic functionality resides (or the Common project is deprecated/absorbed entirely). These opinionated packages can then be plug-and-played into the Blackslope project for rapid configuration/deploy.
e.g. - a package for Serilog vs Nlog, etc.
This will cause breakages, notably in the VersionService
.
The top-level names/objects on the bodies seem a bit repetitive since the request is made against the resource of that name already. It seems like a natural assumption that the response of GET /movies/{id}
would be a movie.
This nesting also requires any corresponding UI to access a property on the response object before deserializing, rather than doing so immediately. This is a pretty minor inconvenience, but it would still be nice to have updated.
GET /movies/{id}
{
"movie": {
"id": "string",
"title": "string",
"description": "string"
}
}
POST /movies
{
"movie": {
"title": "string",
"description": "string"
}
}
Currently, errors are missing at the time the Error response being generated at HandleErrorResponse handler.
Customize the response from health check endpoint to include more details.
The PUT
request for movies currently returns an error which describes the title field when the description is invalid.
Also, much of the seed data in the DB has descriptions which exceed the PUT
endpoint's description length limits.
Sample Payload
{
"id":1,
"title":"The Shawshank Redemption",
"description":"Lorem ipsum dolor sit amet, ut consul soluta persius quo, et eam mundi scribentur, eros invidunt dissentias no eum.",
"releaseDate":"2019-01-14"
}
Sample response:
{
"data": {
"id": 1,
"movie": {
"id": 1,
"title": "The Shawshank Redemption",
"description": "Lorem ipsum dolor sit amet, ut consul soluta persius quo, et eam mundi scribentur, eros invidunt dissentias no eum.",
"releaseDate": "2019-01-14T00:00:00"
}
},
"errors": [{
"code": 40005,
"message": "Movie Title should be between 2 and 50 characters"
}]
}
Add static code analysis using FxCop.
Seems pretty beneficial to target as a healthcheck standard. Especially if we're operating in a Microservices arch.
Fluent Validation supports async validation, Async Validation
The current BlackslopeValidator only exposes the synchronous version of the validate function.
File is no longer accurate.
Mentions Host.Ap which does not exist
Should mention to naviagate to /src folder to execute dotnet commands
Should mention how to setup the database
Should mention how to run the docker file
Full migration from .NET Core 2.2 to 3.0
Evaluate NSwag to replace Swashbuckle.AspNetCore.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.