Scaffold is an opinionated template of a service built using ASP.NET Core. It is intended to be used as an example for, or as a bootstrap to, the development of other services and aims to address some common concerns when building microservices with ASP.NET Core. Scaffold is an example of a Service Template.
Before you start developing Scaffold, please read our Getting Started guide. It outlines what you need to install on your local machine as well as how to build, test and run the service.
Scaffold comes pre-configured with or aims to make developing the following features in your next service a little bit more easier.
Other stuff you inherit when you bootstrap with Scaffold.
- Architecture
- Code Analysis and Formatting
- Cross-platform Support
- Deterministic Builds
- Development Container
- Docker Support
- Entity Framework Support
- Nullable Reference Types
- Software Bill of Materials
- Test Structure
Stuff you might want to add to your service but not included with Scaffold.
- API Versioning
- Authentication and Authorization
- Caching (See also Overview of caching in ASP.NET Core)
- Console Log Formatting
- Cross-Origin Resource Sharing (CORS)
- Feature Gates
- Forwarded Headers Handling
- Header Propagation
- Response Compressions
- Secrets Management
If building microservices, you may want to bring your own sidecars.
Scaffold includes an example application which is intended to be replaced with your actual application when using this template. This example application has been included to help demonstrate features in this template.
The example application is a simple CRUD application where you can create Buckets and put Items in them. The Buckets have a size which represents the number of Items you can put in them. To Create, Read, Update and Delete Buckets or Items in the application, simply send HTTP POST, GET, PUT or DELETE requests to the service.
Explore the service by going to /swagger
in a web browser.
Scaffold has been inspired by and built from the prior experience and work of many others. In particular, Scaffold heavily relies on the open-source community and those who support that community. Please consider contributing back to their open-source projects in whatever way you can.