Overview
The “Distributed-eStore” is a containerized .NET Core online store application that follows a microservices architecture and utilizes a React and Redux frontend solution. With this application, users can browse products, add items to their shopping cart, and make purchases. The application is built using various technologies such as RabbitMQ, .NET Core, .NET Core MVC, MongoDB, React, Redux, Docker, Consul, Fabio, JWT Authentication, Swagger, and Vault.
Features
- Microservices architecture: The application is structured using a microservices architecture, which allows for scalability, flexibility, and easy maintenance.
- React and Redux frontend: The frontend of the application is built with React and Redux, providing a responsive and interactive user interface.
- Docker containerization: The application is containerized using Docker, ensuring consistency and portability across different environments.
- JWT Authentication: The application uses JWT (JSON Web Tokens) for authentication, ensuring secure access to various resources.
- MongoDB integration: The application integrates with MongoDB, a NoSQL database, to store and manage product data.
- RabbitMQ messaging: RabbitMQ is used for messaging and communication between different microservices, ensuring reliable and efficient communication.
- Consul and Fabio for service discovery and routing: Consul and Fabio are used for service discovery and routing, enabling seamless communication and load balancing between microservices.
- Swagger documentation: The application utilizes Swagger to generate API documentation, making it easier for developers to understand and use the provided endpoints.
Installation
To run the “Distributed-eStore” application locally, follow these steps:
- Make sure you have Docker installed on your machine.
- Ensure that a MongoDB service is running. You can check the connection string in the
appsettings.jsonfile of the project. - Open a terminal or command prompt and navigate to the root directory of the project.
- Run the following command to start the application:
docker-compose -f ./compose/compose.yml up -d. - Once the application is running, open your web browser and go to
http://localhost:44310/to access the application.
Summary
The “Distributed-eStore” is a containerized .NET Core online store application with a microservices architecture and a React and Redux frontend solution. It provides various features such as microservices architecture, React and Redux frontend, Docker containerization, JWT authentication, MongoDB integration, RabbitMQ messaging, Consul and Fabio for service discovery and routing, and Swagger documentation. By following the installation steps, users can easily set up and run the application locally.