Distributed EStore

screenshot of Distributed EStore
react

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.

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.

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.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.

Redux

Redux is a state management library for JavaScript apps that provides a predictable and centralized way to manage application state. It enables developers to write actions and reducers that update the state in response to user interactions, server responses, and other events, and can be used with a variety of front-end frameworks and back-end technologies.