Replies: 17 comments 22 replies
-
|
Thank you for the response! I wholeheartedly agree with the concept of: Simple things should be simple and complex things should be possible, as well as the modular approach. I had thought of a scenario where the backend is built in Rust and facilitates a modular approach where new modules can be added and Wired up in such an easy way. A single pane of glass UI that can have new components added is a great idea, using the concept of Micro Frontends. I like your suggestion of WASM, so all front-end UI logic would be built in the backend and compiled to WASM target to be included in the UI. I am a bit nervous about having any language used for modules (Primarily due to not fully understanding the security implications of such a decision), but this is not me saying it should not be done; just that I don't know how it would be implemented securely. With regards to implementing new modules and contributing, I think the Odoo.sh build system implementation is well thought out; potentially building on that concept and taking it a bit further would be a good option. Regarding deployment, I think targeting Kubernetes from day one is a good idea as users can use a Kubernetes platform of their choice, be it K3S or full-blown K8S in a flavour/provider of their choice. I need to get up to speed with the article modulith-vs-microservices and how we would learn from such concepts. Looking forward to more discussions! |
Beta Was this translation helpful? Give feedback.
-
|
WASM modules are still a bit cumbersome, but we are getting there |
Beta Was this translation helpful? Give feedback.
-
|
@zoechi This brings me to questions like:
Again I don't yet have answers or opinions to these questions. |
Beta Was this translation helpful? Give feedback.
-
There doesn't need to be a difference. Just use what the GUI/Web framework supports. I don't have a strategy for non-web GUis. That would need some investigation.
Any web framework could interact with WASM. I only worked with Angular (2+) extensively, but WASM-to-JS interaction isn't tool or framework specific. I haven't thought deeply about native apps but it would probably work just like on the server. WASM modules run sandboxed and communicate over predefined interfaces.
The project could use Rust for everything. Rust can be compiled to WASM or compiled to binary. It's probably still desirable to offer other languages to users who want to build modules in a language easier to learn than Rust. |
Beta Was this translation helpful? Give feedback.
-
|
So when are we starting? |
Beta Was this translation helpful? Give feedback.
-
|
Shall we put together some Top level diagrams to get a sense of how we
would put things together?
In my mind before we build any “ERP” systems we need to solve:
1. Main system and auth
2. Modularity and how we add new models to the base
3. How do dynamically configure them in if they are running in a separate
microservice
What do folks think?
…On Sun, 6 Apr 2025 at 00:50, Luke ***@***.***> wrote:
So when are we starting?
—
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAA6C3ZELZUEAGQNH4J2C232YBFZJAVCNFSM6AAAAABYGKAG2SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTENZTG4YDAOA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
I have seen the following example of using Rust & Wasm and SoldJS only for rendering: The interesting thing is all logic is in the rust/wasm layer, and kind of what I like cause it means the UI layer can be switched out a different framework should we find we don't particularly like the chosen Web Framework. |
Beta Was this translation helpful? Give feedback.
-
|
The link below is a very high-level representation of how I imagine an ERP that has components that can scale independently based on usage. |
Beta Was this translation helpful? Give feedback.
-
|
I tried to come up with a list of high level decisions just to get started. mindmap
root((Rust ERP<br>Architecture))
Frontend
Programming language
Rust
TypeScript
Javascript
Microfrontend
Granulatity
Routing
Communication
State Management
i18n/l10n
Backend
Programming language
Rust
Microservices
CQRS
Authentication
External
Okta
Authentic
Authorization
RBAC
ABAC
PBAC
Database
PostgreSQL
Multiple databases
GDRP
Communication
Client-Server
gRPC
REST
GraphQL
WebSocket
Microservice-Microservice
MessageQueue
gRPC
Customization/Modularity
WASM
Microfrontend
CI
Deployment
K8S/Helm
Nix
|
Beta Was this translation helpful? Give feedback.
-
|
I recently got started with thrashing out an auth endpoint that would sit on top of Loco Frameworks routes as a middleware: |
Beta Was this translation helpful? Give feedback.
-
|
@zoechi https://github.com/microscaler/BRRTRouter Target is 1Million matches a second per CPU core. It should give us what we need performance-wise |
Beta Was this translation helpful? Give feedback.
-
|
Hey Luke,
No worries.
I have just been looking at putting something together that will enable
rapid progress with building APi’s
BRRTRouter is a sub component to be used by a new API solution. A take on
FastAPI and Loco
See:
https://github.com/microscaler/photon
This repo just discusses a vision at the moment.
…On Mon, 26 May 2025 at 00:48, Luke ***@***.***> wrote:
Apologies @casibbald <https://github.com/casibbald> have been out on
holiday -- this goes over my head but will jump in over the next few days
and try and wrap my head around BRRTRouter and Seasame
—
Reply to this email directly, view it on GitHub
<#2 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAA6C37YYUWERTCWDMTTFUD3AI3C3AVCNFSM6AAAAABYGKAG2SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGMRWGYYDIMY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
@zoechi @luke-ransfield I have been looking at options for the UI element of dashboards for web applications. Below is an interesting ChatGPT comparison - MBOI ! Comparing Leptos (Rust/WASM) vs. SolidJS for Sesame‑IDAM Admin Dashboard |
Beta Was this translation helpful? Give feedback.
-
|
So I am close to having an OpenAPI first designed request router ready for
rust.
You feed it an openapi document and it generates routes and handlers for
you along with a corresponding side crate where you implement your core
logic.
Along with that I am working on a new wrapper that helps you rapidly
scaffold out OpenAPI documents.
I have spent a little bit of time playing with LLMs that can be used to
train them to help you generate or scaffold your OpenAPI document etc.
The objective is to enable a developer to rapidly y build out components
and with these tools rapidly build out any systems.
I still have a lot of stuff locally, will try get everything a little more
polished and will push what I have
…On Sat, 7 Jun 2025 at 16:44, Günter Zöchbauer ***@***.***> wrote:
I dug into Dioxus recently. I already tried it a year or so ago and failed
miserably at the very beginning because of build errors about missing
dynamic libraries and version conflicts on Linux.
A lot of work was put into it since and it improved quite a lot. Even
documentation got much better.
A new version (0.7) is in alpha and they seem to prepare a component
library for the release.
I haven't tried 0.7 yet, but the 0.7 component library
<https://github.com/DioxusLabs/components> code is a great resource for
learning about state management with their signals.
The signals seem to be common in React-like frameworks and from what I
heard are now even in Angular, but I haven't worked with any React-like
frameworks myself yet and also not in Angular since they were introduced
there.
I did a bit of research about how Micro Frontends could be accomplised.
There is for example a package to build Web components
<https://developer.mozilla.org/en-US/docs/Web/API/Web_components> from
Dioxus pages that should make it possible to load parts dynamically, but I
haven't done any tests. I'll look into this again later.
While some limited areas require conditional compilation, using the same
code for desktop and browser is working well. I haven't tried mobile yet,
but it should be mostly like desktop with just a single window.
I follow someone on YouTube who makes videos about his experience building
an iOS app using Dioxus. He was struggling to get a custom app icon
associated with the app, but otherwise it seems to work well for a simple
time tracking app. So while it doesn't look perfect yet, it seems to work
and just needs some more polishing.
Building a WASM based web GUI is working really well with Rust and Dioxus.
I expected more issues.
I find it helps productivity a lot to be able to use the same language for
frontend and backend, especially because of the Rust tooling which I prefer
to npm & co. Not even starting about the benefits from sharing code between
client and server.
The small set of available GUI components and libraries compared to JS/TS,
requires to rebuild a lot from scratch which vaporizes the gains at least
in the short term.
I'm still learning about more advanced use cases, but I can definitely
imagine building everything using Dioxus and I really enjoy working with it.
If cross-platform isn't a requirement, then there are certainly other
frameworks worth looking into.
I explored how to build client code to minimize dependency on a specific
GUI framework, so that its as simple as possible to switch to a different
GUI framework in case something better emerges for a specific platform like
mobile, but here I need to build more concrete application code to be able
to come to a final conclusion.
I had brief looks into the projects you created, but I don't really know
what feedback to provide, this is why I didn't respond earlier. I'm
currently really focused on finding the limits of building GUIs with Dioxus.
—
Reply to this email directly, view it on GitHub
<#2 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAA6C33SDRVS32HBB64H3TL3CLUENAVCNFSM6AAAAABYGKAG2SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGMZZG42DONI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
I have almost completed the following base components:
- web request router
- database pooling system
- auth system (need much more work)
Once these items are done, we will be able to work on the actual ERP system
built using these items.
I have used these items to test out building large enterprise systems.
…On Sat, 16 Aug 2025 at 03:34, MJTham ***@***.***> wrote:
As an IT who supports ERP for few years, I like the market store idea. And
Rust deserves a good ERP.
Any action plan or a board to keep track the progress and any discord
channel?
—
Reply to this email directly, view it on GitHub
<#2 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAA6C35Z6KJULB3WAVH5HTL3N2KBTAVCNFSM6AAAAABYGKAG2SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTIMJSGMYTMMQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
@zoechi @MJTham @luke-ransfield After a few months of focused work on getting the OpenAPI foundation for building RERP, we are getting very close: Take a look, clone and have a play. I need to spend a bit of time tidying up the repo and building a documentation site. The framework comfortably handles 60K+ connections per second on my MacBook, and I am networking-bound internally. I have had suggestions that running it on a larger Linux box might yield higher numbers, but I am content with these for now, considering most deployments would be scale out rather than scale up (Apart from Backend for Frontend deployment scenarios) |
Beta Was this translation helpful? Give feedback.
-
|
@zoechi @MJTham @luke-ransfield |
Beta Was this translation helpful? Give feedback.


Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Follow up to https://users.rust-lang.org/t/rust-in-enterprise-software-erp-maybe/126430/2?u=zoechi
I was thinking about this for quite some time.
My approach would be to build a low-code development environment for enterprises
and then use that to implement all kinds of ERP modules based on it that can be customized and extended by users and also allow the users to easily build their own modules.
The modules could be offered in an app store to encourage as many as possible to build modules and offer them to others.
Simple things should be simple and complex things should be possible.
Most enterprise requirements for custom modules are quite simple. I think it's most important to offer something that makes it really efficient to build something new and easy to extend it when users understand their requirements better and request more and more features.
There will be hotspots where more advanced development is required because a lot of functionality intersects at a certain point and performance becomes an issue. It's important that the system doesn't make solving this more complicated than necessary.
I'm not sure large scale is a viable target at the beginning. I assume at large organizations it's mostly about making safe decisions like "nobody ever got fired for bying IBM" and a new Open Source project doesn't easily meet such a requirement.
To gain traction I think it's most important to make it easy to install, use, maintain, and extend.
Allowing scalability when users grow is of course important. So, to target bigger organizations it would probably better to target smaller organizations and contribute to their growth.
I think Rust would be the ideal language.
The core could be Rust and then allowing all programming languages that can target WASM to build modules.
For scalability I'd start as Modulith (Modulith vs Microservices, I didn't really check how well this document describes the term).
With clear boundaries it should be easy to split out modules into microservices when scalability makes it necessary, but it would be much easier for initial development.
What do you think?
Beta Was this translation helpful? Give feedback.
All reactions