Antigravity AI 21b48d3d53 feat: UmbrelOS-style CE with iStore, Casdoor auth, and App Manager
- iStore service (port 3021): fetches app manifests from git.falahos.my/falahos
  org via Gitea API, 5-min cache, query/search support
- UmmahID login: replaced stub form with Casdoor OAuth2 PKCE flow (RFC 7636),
  no client secret required; /api/auth/config and /api/auth/token endpoints
  added to server.cjs
- App Manager service (port 3022): installs/uninstalls Docker apps via
  /var/run/docker.sock, pulls images, starts containers on falah-net,
  persists state to /data/installed.json
- docker-compose.yml: orchestrates falah-app + istore + app-manager with
  health checks, named volumes, and shared falah-net network
- install.sh: one-line curl installer — checks prereqs, clones repo,
  prompts for credentials, builds and starts all containers
- .env.example: all env vars documented (CASDOOR_CLIENT_ID, GITEA_TOKEN,
  APP_MANAGER_PORT, etc.)
- Frontend: IStore overlay now fetches live apps from Gitea, real
  install/uninstall via App Manager with 2s polling, indeterminate
  progress bar, Uninstall button for installed apps
- app.yml.example: developer manifest spec for publishing to iStore
2026-07-06 10:05:37 +08:00

Falah OS — Community Edition

Islamic finance operating system with integrated Zakat, Waqf, Qurban, Sadaqah, and Infaq modules.

Architecture

falah-app (React + Vite + Tailwind) — port 3005
├── Zakat Vault     → falah-zakat  (port 3011)
├── Waqf Chain      → falah-waqf   (port 3012)
├── Qurban          → falah-qurban (port 3016)
├── Sadaqah Stream  → falah-sadaqah(port 3014)
├── Infaq           → falah-infaq  (port 3015)
├── Wallet          → wallet       (port 3002)
├── Ummah ID        → ummahid      (port 3001)
├── RAMZ            → ramz         (port 3003)
├── Prayer          → prayer       (port 3008)
├── Chat            → chat         (port 3009)
├── Community       → community    (port 3007)
├── Mock-Net        → mocknet      (port 3004)
├── Halal Certs     → certs        (port N/A)
└── API Gateway     → gateway      (port 3000)

All microservices use Express with in-memory Maps (v1.3 pattern — no PostgreSQL dependency).

Stack

  • Frontend: TypeScript, React, Vite, Tailwind CSS
  • Backend: Express.js, in-memory storage
  • Deploy: Docker, docker-compose on Synology NAS (Alpine Linux)

Quick Start

npm install
npm run dev        # Vite dev server (hot reload)
npm run build      # Production build → dist/
node server.cjs    # Serve dist/ on port 3000

Docker

docker build -t falah-app .
docker run -d -p 3005:3000 falah-app

Modules

Module Port Description
Zakat Vault 3011 Nisab calculation, asset/liability wizard, history
Waqf Chain 3012 Endowment project listing, donations, certificates
Qurban 3016 Eid sacrifice booking (goat/sheep/cow/camel)
Sadaqah Stream 3014 Recurring micro-charity with cause explorer
Infaq 3015 Community crowdfunding campaigns

UI Features

  • Draggable app windows with macOS-style window manager
  • Dock with auto-hide toggle
  • Right-click context menu (wallpaper, iStore, system info)
  • Clock/date display, balance/contracts/certs widgets
  • App search bar with / keyboard shortcut

License

Falah Consultancy Limited

S
Description
Falah OS Community Edition — self-hosted Islamic digital economy OS
Readme 360 KiB
Languages
TypeScript 66.6%
CSS 10.1%
JavaScript 9.5%
PHP 8.2%
Shell 5.1%
Other 0.5%