- Amballa Venkata Sriram (21bcs008)
- Devesh Kumar (21bcs032)
- Mourya Kakarapu (21bcs049)
- Karan Naik (21bcs051)
- Abhishikt Mahajan (21bcs060)
- Sujith Makam (21bcs061)
- Aayushi Sinha (21bcs120)
- Vishal Kumar (21bcs133)
- Geeta Mahatme (21bec024)
- Nupur Sangwai (21bds046)
The application is built using a microservices architecture with the following services:
- Catalog Microservice: Manages the catalog of items.
- Cart Microservice: Manages the shopping cart.
- Identity Microservice: Manages authentication and user information.
Each microservice has its own dedicated database, following the database-per-service pattern. This ensures better separation of concerns, scalability, and data isolation. Key advantages include:
- Independent schema updates.
- Prevents unauthorized cross-service data access.
- Independent scaling of services.
- Ability to use different database technologies per service.
- Frontend API Gateway: Handles client-side requests.
- Backend API Gateway: Handles admin-side requests.
GET /catalog: Retrieves catalog items.GET /catalog/{id}: Retrieves a specific catalog item.GET /cart: Retrieves cart items.POST /cart: Adds an item to the cart.PUT /cart: Updates a cart item.DELETE /cart: Deletes a cart item.POST /identity/login: Logs in a user.POST /identity/register: Registers a new user.GET /identity/validate: Validates a JWT token.
GET /catalog: Retrieves catalog items.GET /catalog/{id}: Retrieves a specific catalog item.POST /catalog: Creates a catalog item.PUT /catalog: Updates a catalog item.DELETE /catalog/{id}: Deletes a catalog item.PUT /cart/update-catalog-item: Updates catalog items in carts.DELETE /cart/delete-catalog-item: Deletes catalog item references from carts.POST /identity/login: Logs in a user.GET /identity/validate: Validates a JWT token.
- CatalogMicroservice: Source code for managing the catalog.
- CartMicroservice: Source code for managing the shopping cart.
- IdentityMicroservice: Source code for authentication and user management.
- Middleware: Common functionalities shared across microservices.
- FrontendGateway: Frontend API gateway.
- BackendGateway: Backend API gateway.
- Frontend: Client-side application.
- Backend: Admin-side application.
- Tests: Unit tests for all services.
Technologies used:
- Microservices: ASP.NET Core, C#
- Client Apps: HTML, Vanilla JavaScript
- Open the Solution: Load
store.slnin Visual Studio 2022 as administrator. - Setup MongoDB: Ensure MongoDB is installed and running.
- Set Multiple Startup Projects:
- Right-click the solution in Visual Studio.
- Select Properties > Startup Projects.
- Enable all projects except
Middlewareand test projects.
- Run the Solution:
- Press F5 to start the application.
- Frontend: http://localhost:44317/
- Backend: http://localhost:44301/
- Frontend: http://localhost:44317/
- Backend: http://localhost:44301/
- Frontend Gateway: http://localhost:44300/
- Backend Gateway: http://localhost:44359/
- Identity Microservice: http://localhost:44397/
- Catalog Microservice: http://localhost:44326/
- Cart Microservice: http://localhost:44388/

