This project is a microservice-based e-commerce application built using .NET 8.
The project consists of four main microservices: Order, Identity, Invoices, and Mails.
Each microservice operates independently and communicates via MassTransit.
- Tables: Product, Order, OrderItem
- Initial Data: Five sample products
- Functions: Creating products and handling orders
- Communication: Order info and invoice info queues
- Functions: Generating JWT tokens
- Endpoint: Login
- Functions: Creating invoices and sending emails
- Communication: Invoice info queues
- Functions: Sending emails
- Communication: Email info queues
- Navigate to each microservice directory and start it using
dotnet run
. - Send dummy user credentials to the Identity Microservice's Login endpoint to get a token.
- Use the token to send
productId
andquantity
to the Order Microservice's CreateOrder endpoint. - Communication between microservices will be handled by MassTransit, and relevant processes will be executed automatically.
- .NET 8
- MassTransit for inter-service communication
- JWT for authentication
- Entity Framework Core - ORM for database management
- MediatR - Library for implementing CQRS (Command Query Responsibility Segregation) pattern
- AutoMapper - Object-object mapping tool
- FluentValidation - Library for building strongly-typed validation rules