Corp/frontend/QUICKSTART.md
igor_nadein 8b2d3b378e feat(frontend): добавлен API клиент и восстановлен backend из master
- Создан frontend/src/lib/api.ts с 43 методами для всех API endpoint'ов
- Создан frontend/src/lib/permissions.ts для проверки прав доступа
- Исправлен URL в getChatMessagesAround: /messages/around/ → /messages-around/
- Исправлен параметр: message_id → around_id
- Восстановлен backend из ветки master для стабильности
- Удалены конфликтующие файлы Pages Router (src/pages, App.tsx, providers)
- Оставлена только чистая структура Next.js App Router
- Добавлена документация по миграции API v2
2026-02-24 15:40:50 +03:00

150 lines
4.1 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.

# 🚀 Запуск EUSRR Frontend + Backend
## ✅ Что уже сделано
- ✅ React frontend с Refine.dev создан
- ✅ Подключение к Django REST API настроено
- ✅ JWT авторизация реализована
- ✅ Создана страница списка сотрудников
- ✅ Настроены ресурсы для всех модулей
## 📋 Следующие шаги
### 1. Установить CORS на Django Backend
```bash
cd backend
.venv/Scripts/pip install django-cors-headers
```
Добавить в `backend/eusrr_backend/settings.py`:
```python
INSTALLED_APPS = [
"daphne",
"channels",
"corsheaders", # ← ДОБАВИТЬ
# ...остальное...
]
MIDDLEWARE = [
"django.middleware.security.SecurityMiddleware",
"corsheaders.middleware.CorsMiddleware", # ← ДОБАВИТЬ ВТОРЫМ!
# ...остальное...
]
# В конец файла:
CORS_ALLOWED_ORIGINS = [
"http://localhost:5173",
"http://127.0.0.1:5173",
]
CORS_ALLOW_CREDENTIALS = True
```
**Полная инструкция:** [docs/guides/DJANGO_CORS_SETUP.md](../../docs/guides/DJANGO_CORS_SETUP.md)
### 2. Установить зависимости frontend
```bash
cd frontend
npm install
```
### 3. Запустить оба сервера
**Terminal 1 - Django:**
```bash
cd backend
.venv/Scripts/python manage.py runserver 8000
```
**Terminal 2 - React:**
```bash
cd frontend
npm run dev
```
### 4. Открыть приложение
Откройте в браузере: **http://localhost:5173**
## 🔐 Тестовая авторизация
Используйте существующего пользователя из вашей БД:
```
Email: ваш_email@example.com
Password: ваш_пароль
```
## 📁 Структура страниц
Сейчас доступно:
- ✅ `/employees` - Список сотрудников (работает!)
- ⏳ `/departments` - TODO
- ⏳ `/documents` - TODO
- ⏳ `/requests` - TODO
- ⏳ `/events` - TODO
- ⏳ `/feed` - TODO
- ⏳ `/chats` - TODO
## 🛠️ Разработка
### Создание новой страницы
Например, для документов:
```bash
mkdir -p src/pages/documents
touch src/pages/documents/{list,create,edit,show}.tsx
touch src/pages/documents/index.ts
```
### Добавление маршрута
В `src/App.tsx` добавить:
```typescript
<Route path="/documents">
<Route index element={<DocumentList />} />
<Route path="create" element={<DocumentCreate />} />
<Route path="edit/:id" element={<DocumentEdit />} />
<Route path="show/:id" element={<DocumentShow />} />
</Route>
```
## 🐛 Проблемы?
### CORS ошибки
- Проверьте что `django-cors-headers` установлен
- Убедитесь что middleware добавлен правильно
- Перезапустите Django сервер
### 401 Unauthorized
- Проверьте что пользователь существует в БД
- Проверьте endpoint: `http://localhost:8000/api/auth/token/`
### Страница не загружается
- Убедитесь что оба сервера запущены
- Проверьте `.env` файл в frontend
- Откройте DevTools → Network
## 📚 Документация
- Frontend README: [frontend/README.md](README.md)
- Django CORS: [docs/guides/DJANGO_CORS_SETUP.md](../../docs/guides/DJANGO_CORS_SETUP.md)
- **API v2 Migration**: [docs/guides/API_V2_MIGRATION.md](../../docs/guides/API_V2_MIGRATION.md)
- Refine Docs: https://refine.dev/docs/
## 🎯 Следующие задачи
1. Создать endpoint `/api/v2/employees/me/` для получения текущего пользователя
2. Добавить страницы для остальных модулей (documents, requests, etc.)
3. Добавить UI библиотеку (Ant Design / Material-UI)
4. Интегрировать WebSocket для чата
5. Добавить тесты
---
**Готово! Теперь можно разрабатывать! 🚀**