Codebase
Overview of the lomi. monorepo layout, what is open source today, and how local development differs from the hosted platform.
Hosted vs open source
Production payments run on lomi.’s hosted platform only. The monorepo is a local workspace for lomi. engineering. Each app may also deploy from its own GitHub repository, but the canonical tree lives under github.com/lomiafrica/lomi..
Cloning the repo does not give you a supported way to self-host payment processing. Use the hosted platform for live traffic.
Roadmap
We are progressively open-sourcing the monorepo. Self-hosting the full payment stack is a long-term objective, not something we support in production today. The path looks like: publish more source → document operator requirements (providers, MoR, compliance) → offer a supported self-host option when the stack is complete and safe to run without lomi.’s hosted services.
What is open today:
-
Currently open source:
- Documentation website:
apps/docs(this site) - CLI (
apps/cli), integrator tool; build on the hosted API, not platform ops - API service:
apps/api - SDKs:
apps/sdks - E-commerce plugins: separate repos under
apps/plugins/, woo, magento, prestashop, shopify, bubble - MCP server (
apps/mcp), integrator tool; merchant API in your IDE, not platform ops - Events boilerplate (separate repo): lomiafrica/events
- Documentation website:
-
Opening soon:
- Merchant dashboard:
apps/dashboard
- Merchant dashboard:
-
Proprietary:
- Admin dashboard:
apps/admin
- Admin dashboard:
-
Hosted product (source not fully public yet):
- Checkout:
apps/checkout - Storefront:
apps/storefront - Customer portal:
apps/customers - Marketing website:
apps/website
- Checkout:
Many files, especially database migrations and core payment logic, are marked /* @proprietary license */ even inside AGPL-licensed apps.
Monorepo layout
└── lomi./
├── README.md
├── CONTRIBUTING.md
├── LICENSE
└── apps/
├── admin/ # Internal admin (proprietary)
├── api/ # NestJS payment API (open source)
├── checkout/ # Hosted checkout (hosted product)
├── cli/ # Rust CLI (integrator tool; open source)
├── customers/ # Customer portal (hosted product)
├── dashboard/ # Merchant dashboard (opening soon)
├── design/ # Shared design assets
├── docs/ # Developer documentation (open source, this app)
├── jumbo/ # Mobile POS (MPOS) merchant app
├── mcp/ # MCP server (integrator tool; open source)
├── plugins/ # WooCommerce, Magento, PrestaShop, Shopify, Bubble, references
├── sdks/ # TypeScript, Python, PHP, Go SDKs (open source)
├── storefront/ # Merchant storefront (hosted product)
└── website/ # Marketing site (hosted product)Merchant dashboard (apps/dashboard)
The dashboard is the merchant back-office (transactions, payment links, settings, analytics). It is a hosted product today; source is opening progressively.
High-level layout:
└── apps/dashboard/
├── package.json
├── .env.example
├── src/ # React app (Vite)
├── supabase/ # Canonical DB migrations and edge functions
│ └── migrations/
└── public/ # Static assetsDatabase migrations under supabase/migrations/ are the schema source of truth for the platform. They are not a recipe for running your own payment stack without lomi.’s hosted services and provider agreements.
Contributing
We welcome contributions to open-source areas and documentation. Open an issue or submit a pull request on the lomi. monorepo.
Before contributing:
- Read our Code of Conduct
- Review our Security Policy
- Do not modify files marked with
/* @proprietary license */
See Contributing and the monorepo CONTRIBUTING.md.
Useful links
- Discord: Discord community
- X: @lomiafrica
- GitHub: Issues and pull requests
- Email: hello@lomi.africa
Open-source
lomi. publishes integrator tooling and documentation as open source. Payment processing runs on our hosted platform, not as a self-hosted product today.
Community
We believe that the best products are built together with users' and contributors' input. In our case, our growth and evolution are essentially driven by real merchant performance and needs.