Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pome1lo/lotus

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.
https://github.com/pome1lo/lotus

bootstrap css docker html http js koa microservices mssql project react redis web

Last synced: 22 days ago
JSON representation

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.

Awesome Lists containing this project

README

        



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](#introduction)
- [Architecture](#architecture)
- [Technologies](#technologies)
- [Getting Started](#getting-started)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)

## 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](https://github.com/pome1lo/Lotus)