Files
digitCRM/README.md

160 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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