Desktop farming management application for Tunisian farmers, split into a Fastify backend and an Electron desktop client
# Ferma-TN Workspace
Desktop farm management software for Tunisian farmers, built as a Fastify backend plus an Electron desktop client.
## Tech stack
## UI highlights
- Clear language selector with Arabic, French, and English names shown directly
- White mode and green night mode with persistent appearance settings
- Wider and more responsive desktop layouts with better desktop spacing
- Farm-themed table, card, and dashboard styling for Tunisian agriculture workflows
- Interactive farm map simulation for irrigation, health, and harvest focus
- RTL-ready Arabic experience alongside French and English
## Screenshots
## Workspace structure
```text
backend/ Fastify API, MongoDB access, JWT auth, farm modules
desktop-client/ Electron main process, preload bridge, React dashboard UI
docs/ UI notes and screenshots
Makefile Install, typecheck, build, and run shortcuts
```
## Main desktop experience
- Dashboard with farm KPIs, finance trends, herd balance, task flow, and recent operations
- Interactive map simulation with olive grove, greenhouse, livestock yard, water basin, and packing point zones
- Livestock registry for tags, breeds, status, and locations
- Task management with inline status updates and modal creation flows
- Finance and operations tracking for costs, quantities, sales, and suppliers
- Settings page for language and appearance preferences
## Environment
The repo-level `.env` is shared by both apps.
```env
MONGO_URL=your-mongodb-atlas-uri
JWT_SECRET=strong-secret-for-access-tokens
APP_NAME=Ferma-TN
API_HOST=127.0.0.1
API_PORT=4545
API_BASE_URL=
127.0.0.1
```
## Commands
```bash
make install
make typecheck
make build
make dev
```
You can also use workspace scripts:
```bash
pnpm typecheck
pnpm build
pnpm dev
```
## Notes
- `make dev` and `pnpm dev` start the backend and desktop client together
- The desktop app expects the backend on `API_BASE_URL` and defaults to `
127.0.0.0 …