Adding Microservice
🎬 Adding Microservice – ShoppingBasket
The Shopping Basket Service will be responsible for managing the list of events that users can view and search.
🧱 1. Responsibilities of EventCatalogService
Feature | Description |
---|---|
⚙️ 2. Tech Stack
Layer | Tech |
---|---|
Language | C# (.NET 9) |
Framework | ASP.NET Core Web API |
DB | SQL Server |
API Docs | Swagger /Scalar / http / OpenAPI |
Container | Docker |
ORM | EF Core |
🛠️ 3. Core Models (Example)
public class Event
{
public Guid EventId { get; set; }
public string Name { get; set; }
public DateTime Date { get; set; }
}
public class BasketLine
{
public Guid BasketLineId { get; set; }
[Required]
public Guid BasketId { get; set; }
[Required]
public Guid EventId { get; set; }
public Event Event { get; set; }
[Required]
public int TicketAmount { get; set; }
[Required]
public int Price { get; set; }
public Basket Basket { get; set; }
}
public class Basket
{
public Guid BasketId { get; set; }
[Required]
public Guid UserId { get; set; }
public Collection<BasketLine> BasketLines { get; set; }
}
🔗 4. API Endpoints (OpenAPI Spec)
Method | Endpoint | Description |
---|---|---|
BasketLines
GET /api/baskets/{basketId}/basketlines POST /api/baskets/{basketId}/basketlines GET /api/baskets/{basketId}/basketlines/{basketLineId} PUT /api/baskets/{basketId}/basketlines/{basketLineId} DELETE /api/baskets/{basketId}/basketlines/{basketLineId}
Baskets
GET /api/baskets/{basketId} POST /api/baskets
🛠️ Creating the ShoppingBasket Solution
🧱 2. Create the Shopping Basket Web API Project
dotnet new webapi -n EvenTicket.Services.ShoppingBasket --use-controllers -o src/EvenTicket.Services.ShoppingBasket
dotnet sln add src/EvenTicket.Services.ShoppingBasket/EvenTicket.Services.ShoppingBasket.csproj
dotnet sln list
Here we have to pass unnecessary property which events service can be converted into graphql