Modular CRM system built on FastAPI + React with a custom ORM (DotORM), real-time chat via WebSocket, and integrations with external messengers.
Official site: faracrm.com Demo: demo.faracrm.com 📖 Full documentation: docs.faracrm.com
| Layer | Technologies |
|---|---|
| Backend | Python 3.12+, FastAPI, asyncpg, PostgreSQL |
| ORM | DotORM (in-house async ORM) |
| Frontend | React 18, TypeScript, Mantine UI v8, Redux Toolkit |
| Real-time | WebSocket + PostgreSQL LISTEN/NOTIFY (redis optional) |
| Integrations | Telegram, WhatsApp, Avito, Email (IMAP/SMTP) |
docker compose up --build- Frontend: http://127.0.0.1:7777
- Backend API: http://127.0.0.1:7777/api/
- Backend direct: http://127.0.0.1:8000
Backend:
# F5 if you use VS Code
# or:
pip install -r requirements.txt
cp .env.sample .env
uvicorn backend.main:app --host 0.0.0.0 --port 8090Frontend:
cd frontend
yarn install
yarn devfara/
├── backend/
│ ├── main.py # FastAPI entry point
│ ├── main_cron.py # Cron jobs
│ ├── project_setup.py # Models, Apps, Settings
│ └── base/
│ ├── system/ # Core: ORM, auth, services
│ │ ├── dotorm/ # DotORM — async ORM
│ │ ├── dotorm_crud_auto/# Auto-generated CRUD API
│ │ ├── core/ # Environment, Service
│ │ └── schemas/
│ └── crm/ # Business modules
│ ├── chat/ # Chat + WebSocket
│ ├── security/ # ACL, sessions, roles
│ ├── users/
│ ├── leads/
│ ├── sales/
│ ├── partners/
│ ├── tasks/
│ └── ...
├── frontend/
│ └── src/
│ ├── services/api/ # RTK Query API
│ ├── store/ # Redux store
│ ├── fara_chat/ # Chat module
│ └── ...
├── tests/
├── docs/ # MkDocs documentation
└── docker-compose.yml
The documentation lives in docs/ and is built with MkDocs Material.
| Section | Description |
|---|---|
| Backend | Architecture, DotORM, modules, API |
| Frontend | React app, state management |
| Guides | New module, WebSocket, tests |
FARA CRM License v1.0