A modern CRM system for managing companies, users, and business operations.
- React (TypeScript)
- Vite
- React Query (@tanstack/react-query)
- Tailwind CSS v3
- Recharts
- React Leaflet
- Node.js (ESM)
- Express.js
- Prisma ORM
- Swagger (OpenAPI YAML docs)
- PostgreSQL
├── apps/
│ ├── frontend/ # React + Vite app
│ └── backend/ # Express API, Prisma, Swagger
├── package.json # Monorepo root
├── docker-compose.yml
| Dashboard | Add Company | Mobile Dashboard |
![]() |
![]() |
![]() |
- Dashboard, company management, mobile view
To gain access, seed the local database with demo users and roles using the provided seed script. Default credentials are set in apps/backend/prisma/seed.js.
| Role | Password | |
|---|---|---|
| SuperAdmin | admin@mycrm.com | password123 |
| Admin | manager@mycrm.com | password123 |
| User | user@mycrm.com | password123 |
| User | emily.user@mycrm.com | password123 |
Note: You can preview or change demo passwords in
apps/backend/prisma/seed.js.
- Install dependencies:
npm install
- Setup environment variables:
- Copy
.env.exampleto.envinapps/backendand configure DB connection.
- Copy
- Run database migrations and seed:
npm run migrate && npm run seed - Start development servers:
npm run dev
-
Run with Docker Compose:
docker-compose up -d
-
Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000


