Skip to content

This course project examines the process of developing the Lotus software tool, which is a convenient publishing platform for solving the full range of tasks related to blogging.

pome1lo/Lotus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lotus Project

A comprehensive microservices-based architecture, Lotus seamlessly integrates multiple technologies to provide a scalable and robust backend with a reactive frontend experience.

Table of Contents

Introduction

Lotus is designed to be a high-performance, scalable solution for modern web applications, leveraging the power of microservices and a reactive user interface. It's built with flexibility in mind, allowing for seamless integration with various databases and messaging systems.

Architecture

The Lotus architecture is composed of several independent microservices that communicate over gRPC and RabbitMQ. Each service is responsible for a discrete aspect of the application, ensuring maintainability and scalability.

Technologies

  • Backend: Koa.js for building RESTful APIs and handling server-side logic.
  • Frontend: React for a dynamic and responsive user interface.
  • Messaging: RabbitMQ for reliable message brokering between services.
  • Inter-Service Communication: gRPC for efficient and type-safe service-to-service communication.
  • Databases: SQL Server and MongoDB for structured and unstructured data storage.

Getting Started

To get a local copy up and running follow these simple steps.

Installation

Clone the repository: bash git clone https://github.com/your-username/Lotus.git cd Lotus

Set up each microservice:

bash

Navigate to each service directory

cd service-name

Install dependencies

npm install

Repeat for all service directories

Set up the frontend client:

bash cd path-to-react-client npm install

Usage

Start each microservice:

bash npm start

Start the React client:

bash npm start

Visit http://localhost:3000 to view the application.

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Project Link: https://github.com/your-username/Lotus

About

This course project examines the process of developing the Lotus software tool, which is a convenient publishing platform for solving the full range of tasks related to blogging.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published