IDEM is a sovereign pan-African AI platform. From a short description of an idea, it produces a brand identity, a business plan and financial model, a pitch deck, legal documents, communication material and diagrams, generates a web application, stress-tests the business in simulation, and deploys the result on servers in Africa.
This repository is the monorepo that contains every IDEM application and shared package.
| App | Path | Stack | Role |
|---|---|---|---|
| API | apps/api |
Express, TypeScript, MongoDB, Redis, MinIO | Authentication, projects, AI generation, PDFs, billing and payments |
| Console | apps/main-dashboard |
Angular 20 | The signed-in application (console.idem.africa) |
| Landing | apps/landing |
Angular 20, prerendered, EN/FR | Public site (idem.africa) |
| Simulator | apps/simulation |
Angular 22 | Business stress tests and scenarios |
| AppGen | apps/appgen |
React/Vite + Express | Application generator running in the browser |
| iDeploy API | apps/ideploy-api |
Express, TypeScript, PostgreSQL, BullMQ | Deployment platform back end |
| iDeploy web | apps/ideploy-web |
Angular 20 | Deployment platform front end |
| Chart | apps/chart |
SvelteKit | Mermaid diagram editor |
Shared packages (packages/): design system, models and pricing, loader, product tours, trusted-by logos. See docs/PACKAGES.md.
| Document | Content |
|---|---|
| docs/ARCHITECTURE.md | How the apps, data stores and authentication fit together |
| docs/GETTING_STARTED.md | Local setup, Docker Compose, ports |
| docs/CONFIGURATION.md | Environment variables and secrets (Infisical) |
| docs/SECURITY.md | Security model and rules for contributors |
| docs/DEPLOYMENT.md | CI/CD, images, production checklist |
| docs/PACKAGES.md | Shared packages |
| CONTRIBUTING.md | Workflow, conventions, git hooks |
| AGENTS.md | Design rules (read before building any screen) |
Each application has its own README, and some have a docs/ folder for deeper topics.
nvm use # Node 24
npm install # all npm workspaces (also installs the git hooks)
cp .env.example .env.dev && ln -sf .env.dev .env
docker compose -f docker-compose.dev.yml up -d mongodb redis minio postgres mailpit soketi
npm run dev:api # then dev:dashboard, dev:landing, dev:ideploy-web, …AppGen and Chart use pnpm. The full procedure, per-app .env files and ports are in docs/GETTING_STARTED.md.
- pre-commit scans staged files for keys, tokens and secret files, and blocks the commit if it finds one.
- pre-push builds every app touched by the pushed commits and blocks the push if a build fails.
Run them by hand with npm run check:secrets and npm run check:builds. Details in CONTRIBUTING.md.
Please report vulnerabilities privately, as described in SECURITY.md. Never open a public issue for a security problem.
Apache License 2.0 with Commons Clause: you may use, study, modify and self-host IDEM, but you may not sell it, or offer it as a paid hosted service or paid support. For commercial licensing, contact the maintainers. The brand typeface and forked components keep their own licences (see NOTICE, apps/appgen/LICENSE, apps/chart/LICENSE, packages/shared-styles/fonts/OFL.txt).