# 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 ```bash cd backend npm install npm start ``` Server ще слуша на `http://localhost:3001` ### 2. Frontend ```bash 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 1. Отворете Coolify 2. Натиснете "New Resource" → "Docker Compose" 3. В "Source" изберете "Git" 4. Въведете: `https://git.inex-project.net/sabo/digitCRM.git` 5. Branch: `main` 6. Docker Compose File: `docker-compose.yml` 7. 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` - Анализ на обратна връзка ## Тестване ### Регистрация ```bash 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!@#" }' ``` ### Логин ```bash curl -X POST http://localhost:3001/api/users/login \ -H "Content-Type: application/json" \ -d '{ "username": "johndoe", "password": "Test123!@#" }' ``` ## Лицензия Proprietary - Всички права запазени ## Контакт За въпроси: sabo@inex-project.net