Machb Project

"Thou hast it now — King, Cawdor, Glamis, all As the Weïrd Women promised"
— William Shakespeare, The Tragedy of Macbeth
Overview
The Machb Project is a Seed Project within the Machanism platform, provides a modular foundation for developing and deploying applications in the e-commerce domain. Built with a focus on scalability, reusability, and clean code, Machb embodies the Machanism modular philosophy, making it a reusable and adaptable starting point for building robust e-commerce solutions.
Organized as a mono repository1 and managed by Lerna, Machb facilitates efficient management of multiple interconnected packages within a single codebase. While leveraging monorepo principles, the Machb Project is meticulously structured to align with the Machanism modular concept. This approach emphasizes modularity, adaptability, and scalability, allowing seamless integration between components and clear isolation of individual functionalities, ensuring maintainability, reusability, and long-term flexibility across diverse use cases and business domains.
Machb project contains following parts:
- Core - (aka Packages): Serves as the aggregator for all shared, reusable modules and foundational libraries required to build applications. It includes utilities, domain entities, business logic, adapters, and other components that are essential for creating modular and scalable solutions.
- Apps - (aka Application): Contains customizations for diverse implementations of target projects, tailored to specific business needs or use cases. This layer focuses on adapting the Core modules and building application-specific logic and workflows.
- MachaOn - (aka Infrastructure): Contains completed variants of demo builds that serve as examples, reference implementations, and end-to-end testing environments. These builds compile modular components into deployable configurations, showcasing practical use cases and deployment strategies.
Tech stack
Don’t marry the framework!
There are some frameworks that you simply must marry. If you are using C++, for example, you will likely have to marry STL—it’s hard to avoid. If you are using Java, you will almost certainly have to marry the standard library.
That’s normal — but it should still be a decision. You must understand that when you marry a framework to your application, you will be stuck with that framework for the rest of the life cycle of that application. For better or for worse, in sickness and in health, for richer, for poorer, forsaking all others, you will be using that framework. This is not a commitment to be entered into lightly.
— ©Robert C. Martin
For the internal layers core projects we can use only general technology:
- Node.js (22.20.0)
- npm (10.9.3)
- TypeScript (5.9.3)
Tools:
- Lerna (9.0.0)
- typedoc (0.28.14)
- Visual Studio Code
Architecture
Machb project following Clean Architecture2 rules.
Clean Architecture is a software design philosophy introduced by Robert C. Martin, also known as Uncle Bob. It emphasizes the separation of concerns which divides the software into layers making it easier to manage and maintain. The main goal of Clean Architecture is to produce a system that is independent of frameworks, UI, database, and any external agency. In other words, it appss at creating software that is loosely coupled, highly maintainable, and scalable. Core Concepts of Clean Architecture:
- Independent of Frameworks: The architecture does not rely on the existence of some library of feature-laden software. This allows you to use such frameworks as tools, rather than having to cram your system into their limited constraints.
- Testable: The business rules can be tested without the UI, database, web server, or any other external element.
- Independent of UI: The UI can easily change without changing the rest of the system. A Web UI could be replaced with a console UI, for example, without changing the business rules.
- Independent of Database: You can swap out Oracle or SQL Server for MongoDB, BigTable, CouchDB, or something else. Your business rules are not bound to the database.
- Independent of any external agency: In fact, your business rules simply don’t know anything at all about the outside world.
The Layers of Clean Architecture:

Install & Build
- npm install
- npm run build

NPM Repository
License
Apache 2