More Premium Hugo Themes Premium React Themes

Distributed EStore

Ecommerce SPA application with a microservices architecture implemented from scratch. Tech stack - Docker, Consul, Fabio, RabbitMQ, .Net Core, Mediatr, CQRS, React, Redux. .NET Core Microservices template, .NET React Redux, .NET RabbitMQ, .NET Distributed, Docker, .NET Core with Docker.

Distributed EStore

Ecommerce SPA application with a microservices architecture implemented from scratch. Tech stack - Docker, Consul, Fabio, RabbitMQ, .Net Core, Mediatr, CQRS, React, Redux. .NET Core Microservices template, .NET React Redux, .NET RabbitMQ, .NET Distributed, Docker, .NET Core with Docker.

Author Avatar Theme by evgenirusev
Github Stars Github Stars: 122
Last Commit Last Commit: Apr 27, 2021 -
First Commit Created: Jan 5, 2024 -
Distributed EStore screenshot

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:

  1. Make sure you have Docker installed on your machine.
  2. Ensure that a MongoDB service is running. You can check the connection string in the appsettings.json file of the project.
  3. Open a terminal or command prompt and navigate to the root directory of the project.
  4. Run the following command to start the application: docker-compose -f ./compose/compose.yml up -d.
  5. 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.