by Arslan Shakil

Full-stack TypeScript CRM with Express backend (SQLite, JWT auth, REST API) and React frontend (Vite, Tailwind, React Router). Manage contacts, deals, and activities with real-time dashboard, role-based access, and multi-tenant support. Licensed under Tetrees License.
A full-stack multi-tenant CRM system built with TypeScript, featuring a React frontend and Express backend. Manage contacts, deals, and activities with JWT-based authentication, real-time dashboards, and a clean, modern UI powered by Tailwind CSS and Framer Motion.
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite, Tailwind CSS, Framer Motion, React Router |
| Backend | Node.js, Express 4, TypeScript, SQLite (better-sqlite3) |
| Auth | JWT (jsonwebtoken), bcryptjs |
| Validation | Zod |
| Security | Helmet, CORS |
| Utilities | uuid v4, Lucide React icons |
cd backend
npm install
npm run build
npm start
Server runs on port 9036 by default.
Development mode:
npm run dev
Environment variables (.env):
PORT=9036
JWT_SECRET=your-super-secret-key
NODE_ENV=development
cd frontend
npm install
npm run dev
Dev server runs on port 5173 (Vite default).
Build for production:
npm run build
Type checking:
npm run typecheck
Base URL: http://localhost:9036
POST /api/auth/register — Create new user accountPOST /api/auth/login — Login and receive JWT tokenGET /api/health — Health checkGET /api/contacts — List all contactsPOST /api/contacts — Create contactGET /api/contacts/:id — Get contact detailsPUT /api/contacts/:id — Update contactDELETE /api/contacts/:id — Delete contactGET /api/deals — List all dealsPOST /api/deals — Create deal (requires contact_id, title, value, stage)GET /api/deals/:id — Get deal detailsPUT /api/deals/:id — Update dealDELETE /api/deals/:id — Delete dealGET /api/activities — List all activitiesPOST /api/activities — Create activityGET /api/activities/:id — Get activity detailsPUT /api/activities/:id — Update activityDELETE /api/activities/:id — Delete activityGET /api/dashboard — Fetch dashboard metrics (contact count, deal value, activity count)All protected endpoints require a Bearer token in the Authorization header:
Authorization: Bearer <your-jwt-token>
Tokens are valid for 7 days. Register or login to obtain a token.
Success:
{
"data": { ... }
}
Error:
{
"error": "Error message",
"details": { ... }
}
Tetrees License
Spin up an isolated sandbox and run it server-side — no local setup.
The sandbox audition completed and the detected runnable path passed.
This Express backend / api completed archive review with strong static results. Structure, dependency manifests, documentation, functional source, and common risk patterns were checked by the Tetrees verification pipeline; runtime phases are stated separately. Final verified scores after isolated runtime evidence: overall 8.8 and security 9.
Deterministic AVCP artifact review
Pipeline avcp-2026-08-04.1 · SHA-256 c1421358c20e289b…
This version-scoped review deterministically inspects the submitted archive for structure, dependencies, documentation, functional source, and common malicious or high-risk signals. Build and test phases are reported as passed only after an isolated sandbox audition. It is not a guarantee of perfect security.
Reviewed Aug 7, 2026
The full install guide and integration prompts unlock after purchase.
Push this product straight into your AI IDE, web builder or cloud IDE.
Connect Tetrees to a compatible AI IDE, list products you own, and request the verified ZIP without exposing seller upload controls.
No reviews yet.
Sign in to join the discussion
Loading discussion…
Automation, Utilities & Developer Tools
$600