Tutorials Microservices with .NET
Project Setup for Microservices in ASP.NET Core Web API — Complete Guide
Project Setup for Microservices in ASP.NET Core Web API — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of Microservices with .NET on Toolliyo Academy.
On this page
Microservices with .NET · Lesson 7 of 131
Project Setup for Microservices in ASP.NET Core Web API
Beginner → Intermediate → Advanced → Professional
Beginner · 1 — Foundations · ~6 min · Module 1: Foundations and Fundamentals
What is this?
Project setup is how you organize ShopNest on disk — one folder per service, shared solution or separate repos, docker-compose later, and consistent naming (ShopNest.Order.Api).
Why should you care?
Messy folders on day one become messy deploys on day hundred. A clear layout helps you clone the Order pattern for Payment in ten minutes.
See it live — copy this example
Create a Web API project (dotnet new webapi), paste the code, then run dotnet run.
ShopNest/
src/
Order.Api/
Order.Domain/
Product.Api/
Product.Domain/
ShopNest.sln
docker-compose.yml ← added in lesson 73
Run Example »
This lesson uses terminal or setup steps. Run commands on your computer — the live editor appears on coding lessons.
What happened?
- Each service is its own .NET project with its own Program.cs.
- Solution file ties them for local dev.
- Gateway and docker-compose appear in later modules.
Try it yourself
- mkdir ShopNest && cd ShopNest
- dotnet new sln -n ShopNest
- dotnet new webapi -n Order.Api -o src/Order.Api
- Change a string or route in the example and save — watch Swagger or the RabbitMQ Management UI update.
- Break the code on purpose (remove a semicolon), read the error message, then fix it.
Remember
One deployable service = one (or few) .NET projects. Use a solution to build all services locally. Name projects after business capability: Order.Api, not ShopNestWebApi2.
Real-world: Team ownership
Flipkart Order team owns src/Order.* pipelines. Their GitHub Actions deploy only Order.Api when Order files change.
Outcome: Independent deploy starts with independent folders and CI paths.