feat: publish applications CRM
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# applications_crm
|
||||
|
||||
CRM-панель для обработки обращений граждан: авторизация сотрудников, список заявок, фильтрация, статусы и приоритеты, история изменений, комментарии, аналитика и CSV import/export.
|
||||
|
||||
Проект размещён в организации [IT-One](https://git.it-one.pro/IT-One) в разделе клиентских проектов.
|
||||
|
||||
## Стек
|
||||
|
||||
- Next.js 16 + React 19 + TypeScript
|
||||
- Prisma 6 + SQLite
|
||||
- Tailwind CSS 4 и Radix UI
|
||||
- Bun или Node.js 22+
|
||||
|
||||
## Локальный запуск
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# задайте DATABASE_URL, ADMIN_PASSWORD и AUTH_SECRET
|
||||
npm install
|
||||
npx prisma generate
|
||||
npx prisma db push
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Панель будет доступна по адресу `http://localhost:3000/crm`.
|
||||
|
||||
## Переменные окружения
|
||||
|
||||
- `DATABASE_URL` — путь к SQLite-файлу;
|
||||
- `ADMIN_PASSWORD` — пароль сотрудника CRM;
|
||||
- `AUTH_SECRET` — случайный секрет подписи сессий;
|
||||
- `PUBLIC_LEADS_SECRET` — внутренний секрет server-to-server ingest endpoint.
|
||||
|
||||
Не добавляйте реальные `.env`-файлы, SQLite-базы, production-артефакты или токены в Git.
|
||||
|
||||
## Production
|
||||
|
||||
Production-сборка использует standalone output:
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
NODE_ENV=production PORT=3100 node .next/standalone/server.js
|
||||
```
|
||||
|
||||
При публикации под `/crm` используется `basePath` из `next.config.ts`, а reverse proxy должен направлять `/crm` и `/crm/*` на отдельный upstream.
|
||||
|
||||
## API
|
||||
|
||||
- `/crm/api/auth/*` — авторизация сотрудников;
|
||||
- `/crm/api/leads/*` — защищённые операции с заявками;
|
||||
- `/crm/api/public/leads` — закрытый внутренний endpoint для server-to-server интеграции формы;
|
||||
- `/crm/api/health` — health-check.
|
||||
|
||||
Публичный endpoint не принимает заявки без `PUBLIC_LEADS_SECRET`.
|
||||
Reference in New Issue
Block a user