System Group (همکاران سیستم) has been writing business software in Tehran since 1987 — ERP, financial, HR and cloud systems that a great many Iranian companies run their day on.
This is where the internal libraries that stopped being internal, the tooling we got tired of not having, and the experiments that outgrew a branch end up, published under whichever license made sense at the time, in whichever language the problem asked for.
Go · Python · TypeScript · C# · Kotlin
Nine repos that are really one opinion: a gateway speaks HTTP, a service speaks gRPC, and nothing in between is improvised. Five are libraries you can lift; four are a working reference app you can read end to end.
flowchart LR
U(["👤 browser"])
subgraph edge["edge"]
RE["r2samplereact<br/>React SPA"]
end
subgraph gws["gateways · Go + gin"]
GR["r2samplegateway_react<br/>SPA routing + gRPC"]
GW["r2samplegateway<br/>HTTP → gRPC"]
end
subgraph back["backend · Go"]
SV["r2sampleservice<br/>service + migrations"]
DB[("PostgreSQL")]
end
U --> RE
U --> GW
RE --> GR
GR -- gRPC --> SV
GW -- gRPC --> SV
SV --> DB
classDef core fill:#D32027,stroke:#8F1218,color:#FFFFFF
class GR,GW,SV core
The libraries — the parts worth stealing:
| Repo | Does one thing |
|---|---|
| r2basic | The floor under a backend service: PostgreSQL, gRPC, jobs, in-memory cache |
| r2gatewaysugar | gin support for gateways, plus the protobuf plumbing to reach the backend |
| r2message | Message generation, translation and unembarrassing errors, passed intact across every layer |
| r2sampleserviceapi | The gRPC client API — the contract both sides agree on |
| r2hardcopy | Pixel-perfect reports from secure HTML templates. An ERP company will always need to print |
The reference app — r2samplegateway · r2samplegateway_react · r2sampleservice · r2samplereact
📒 Open the ledger — we are, after all, an erp-software company
SYSTEMGROUP · OPEN-SOURCE TRIAL BALANCE period ending: today
════════════════════════════════════════════════════════════════════════════════
ACCOUNT DEBIT CREDIT
──────────────────────────────────────────────────────────────────────────────
Public repositories ............................ 22
Languages in production ........................ 7
Years of shipping .............................. 39
Libraries lifted out of systems we still run ... several
Reference apps you can actually run ............ 4
Deferred documentation ......................... some
"// TODO: refactor" ............................ yes
Repos last touched in 2021 ..................... a handful
Test suites that outgrew their machines ........ the whole reason
Goodwill, unamortized .......................... priceless
──────────────────────────────────────────────────────────────────────────────
The books balance the moment you open a pull request.
════════════════════════════════════════════════════════════════════════════════
Take a look at here: systemgroup.net/jobs