digitCRM - Unified CRM System
Пълна CRM система с backend и frontend, готова за production.
Структура на проекта
digitCRM/
├── backend/ # Node.js + Express API
├── frontend/ # React + Vite SPA
├── docker-compose.yml
└── README.md
Технологии
Backend
- Node.js 18+
- Express.js
- SQL Server (MSSQL)
- JWT Authentication
Frontend
- React 19
- Vite
- Tailwind CSS
- shadcn/ui компоненти
Бързо стартиране
1. Backend
cd backend
npm install
npm start
Server ще слуша на http://localhost:3001
2. Frontend
cd frontend
pnpm install
pnpm run dev
App ще слуша на http://localhost:3000
Environment Variables
Backend (.env)
NODE_ENV=production
PORT=3000
DB_SERVER=cw.inex-project.net
DB_PORT=14333
DB_USER=inex
DB_PASSWORD=inex123!@#
JWT_SECRET=your-secret-key
CORS_ORIGIN=http://localhost:3000
Frontend (.env)
VITE_API_URL=http://localhost:3001/api
Деплойване на Coolify
- Отворете Coolify
- Натиснете "New Resource" → "Docker Compose"
- В "Source" изберете "Git"
- Въведете:
https://git.inex-project.net/sabo/digitCRM.git - Branch:
main - Docker Compose File:
docker-compose.yml - Deploy
API Endpoints
Authentication
POST /api/users/register- РегистрацияPOST /api/users/login- Логин
Contacts
GET /api/contacts- Всички контактиPOST /api/contacts- Нов контактGET /api/contacts/:id- Детайли на контактPUT /api/contacts/:id- Актуализирай контактDELETE /api/contacts/:id- Изтрий контакт
Campaigns
GET /api/campaigns- Всички кампанииPOST /api/campaigns- Нова кампанияGET /api/campaigns/:id- Детайли на кампанияPUT /api/campaigns/:id- Актуализирай кампанияDELETE /api/campaigns/:id- Изтрий кампания
Tickets
GET /api/tickets- Всички билетиPOST /api/tickets- Нов билетGET /api/tickets/:id- Детайли на билетPUT /api/tickets/:id- Актуализирай билетDELETE /api/tickets/:id- Изтрий билет
Warranties
GET /api/warranties- Всички гаранцииPOST /api/warranties- Нова гаранцияGET /api/warranties/:id- Детайли на гаранцияPUT /api/warranties/:id- Актуализирай гаранцияDELETE /api/warranties/:id- Изтрий гаранция
Feedback
GET /api/feedback- Всички обратни връзкиPOST /api/feedback- Нова обратна връзкаGET /api/feedback/:id- Детайли на обратна връзкаPUT /api/feedback/:id- Актуализирай обратна връзкаDELETE /api/feedback/:id- Изтрий обратна връзка
Analytics
GET /api/analytics/dashboard- Dashboard статистикаGET /api/analytics/contacts- Анализ на контактиGET /api/analytics/campaigns- Анализ на кампанииGET /api/analytics/tickets- Анализ на билетиGET /api/analytics/feedback- Анализ на обратна връзка
Тестване
Регистрация
curl -X POST http://localhost:3001/api/users/register \
-H "Content-Type: application/json" \
-d '{
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com",
"username": "johndoe",
"password": "Test123!@#"
}'
Логин
curl -X POST http://localhost:3001/api/users/login \
-H "Content-Type: application/json" \
-d '{
"username": "johndoe",
"password": "Test123!@#"
}'
Лицензия
Proprietary - Всички права запазени
Контакт
За въпроси: sabo@inex-project.net
Description
Languages
TypeScript
90.1%
JavaScript
7.8%
CSS
1.8%
HTML
0.3%