This is a simple e-commerce application built using microservices architecture. The application is designed to manage user profiles, products, orders, and related functionalities. Each microservice corresponds to a specific domain, facilitating modular development and scalability.
- User Microservice
- Product Microservice
- Order Microservice
- Cart and Wishlist Microservices
- User Microservice Manages user profiles, roles, and activity logs. Handles user addresses, including shipping and billing addresses.
- Product Microservice Manages product categories, products, images, and reviews.
- Order Microservice Manages orders, order items, order status, payments, and coupons. Supports the application of coupons to orders.
- Cart and Wishlist Microservices Manages user shopping carts and wishlists.
The application uses a shared database with the following tables:
- UserProfile
- UserRole
- UserActivityLog
- Address
- Category
- Product
- ProductImage
- ProductReview
- Orders
- OrderItem
- PaymentInformation
- OrderStatus
- Coupon
- OrderCoupon
- UserActivityLog
- Cart
- Wishlist
Refer to the database script for detailed schema and constraints.
"Data Source=[servername];Initial Catalog=[database_name];Integrated Security=SSPI; MultipleActiveResultSets=true;"
when using localdb use "(LocalDb)\MSSQLLocalDB" as server name
To Scaffold database as model to local project use below command.
dotnet ef dbcontext scaffold "Data Source=[servername];Initial Catalog=LearnSmartDB;Integrated Security=SSPI; MultipleActiveResultSets=true;" Microsoft.EntityFrameworkCore.SqlServer -o Entities -d
This Microservice is deployed to Azure and can be accessed here https://lsc-ecommerce-userprofile.azurewebsites.net/swagger/index.html
- UserProfile
- UserRole
- UserActivityLog
- Address (User addresses, including shipping and billing addresses)
- Category
- Product
- ProductImage
- ProductReview
- Orders
- OrderItem
- OrderStatus
- PaymentInformation
- OrderCoupon
- Coupon
- Cart
- Wishlist
Database script can be found at root level of this repository E.g. LearnSmartDB_DB_Script.sql