Skip to content

MSAPI is a self contained C++ library to build micro/macro services based on own protocols communication.

License

Notifications You must be signed in to change notification settings

Roy2player/MSAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MSAPI

MSAPI is a modular, high-performance C++ library for building Linux-based microservice and macrosystem architectures. It provides internal protocols, utilities, and server logic for efficient, scalable system development.

MSAPI does not depend on any third-party libraries.

🔧 Building

To build library follow next simple steps:

cd library/build
cmake .
cmake --build . -j $(nproc)

BUILD_PROFILE variable can be set to choose build type: Debug or Release. See CMakeListsCommonOptions.txt for more details.

Number of bash scripts are available in the bash/ folder to simplify building process. MSAPI_PATH variable should be set to the root of the MSAPI repository.

🧩 Features & structure:

  • Server: Provides communication ability via TCP sockets and current-state model to manage server lifetime;
  • Application: Provides customization ability via parameters and current-state model to manage application behavior.

Server provides data to be handled by calling a callback in case if this data is not a part of internal Application protocol.

  • Log: Multiple log levels and console/file outputs.
  • Time: Time utilities and event scheduling.
  • HTML: Parser module.
  • JSON: Parser and producer module.
  • Table: Data structure.
  • Pthread: Module to synchronize threads.
  • Bin: Filesystem operations and helpers.
  • Helper: Miscellaneous utilities for common tasks.
  • Meta: Static enum translation, type helpers, and compile-time utilities.

Unit/end-to-end tests utilities with ability to run servers as daemons.

🖥️ Frontend

Manager app for orchestrating custom apps on the same host, with a user-friendly web interface.

⚖️ License

This software is licensed under the Polyform Noncommercial License 1.0.0, see LICENSE.md.
You may use, copy, modify, and distribute it for noncommercial purposes only.

For commercial use, please contact: maks.angels@mail.ru

🤝 Contributing

Contributions are welcome!
By contributing to this repository, you agree to the Contributor License Agreement.

About

MSAPI is a self contained C++ library to build micro/macro services based on own protocols communication.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published