- Создан 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
4.1 KiB
4.1 KiB
🚀 Запуск EUSRR Frontend + Backend
✅ Что уже сделано
- ✅ React frontend с Refine.dev создан
- ✅ Подключение к Django REST API настроено
- ✅ JWT авторизация реализована
- ✅ Создана страница списка сотрудников
- ✅ Настроены ресурсы для всех модулей
📋 Следующие шаги
1. Установить CORS на Django Backend
cd backend
.venv/Scripts/pip install django-cors-headers
Добавить в backend/eusrr_backend/settings.py:
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
2. Установить зависимости frontend
cd frontend
npm install
3. Запустить оба сервера
Terminal 1 - Django:
cd backend
.venv/Scripts/python manage.py runserver 8000
Terminal 2 - React:
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
🛠️ Разработка
Создание новой страницы
Например, для документов:
mkdir -p src/pages/documents
touch src/pages/documents/{list,create,edit,show}.tsx
touch src/pages/documents/index.ts
Добавление маршрута
В src/App.tsx добавить:
<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
- Django CORS: docs/guides/DJANGO_CORS_SETUP.md
- API v2 Migration: docs/guides/API_V2_MIGRATION.md
- Refine Docs: https://refine.dev/docs/
🎯 Следующие задачи
- Создать endpoint
/api/v2/employees/me/для получения текущего пользователя - Добавить страницы для остальных модулей (documents, requests, etc.)
- Добавить UI библиотеку (Ant Design / Material-UI)
- Интегрировать WebSocket для чата
- Добавить тесты
Готово! Теперь можно разрабатывать! 🚀