Marketplace works like a small business aggregator. Customer is able to order different products from different shops, but he gets one order package.
To implement:
- diagrams
- clear description
- C# 11
- .Net 7
- EntityFrameworkCore 7.0.4
- MSQLServer
$ git clone https://github.com/mateuszbabski/marketplace
$ cd marketplace
$ dotnet restore
$ dotnet run
Done:
- Register/Login for Customer and Shop separately
- Adding, updating and deleting products available to buy
- Creating shopping cart. Adding, removing products and deleting cart
- Placing and cancelling orders
- Splitting order by shops
- Creating invoice for customer and split them for shops
- Currency conversion while adding to cart various products
- Change shopping cart currency
- Domain unit test
- Domain events
To implement:
- Autoupdate prices while checking out cart/placing order basis on current rates
- Searching products
- Notify all shops owners about products to prepare
- Sending invoices
- Sending email notifications about orders
- Confirm account, forgot/reset password features
- Unit tests
Projects is based on Clean architecture principles, following DDD approach. CQRS and MediatR handle application features.
Feel free to fork project and work on it with me. I am open to any suggestions, pull requests just to make project better.