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

4.1 KiB
Raw Blame History

🚀 Запуск 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

📚 Документация

🎯 Следующие задачи

  1. Создать endpoint /api/v2/employees/me/ для получения текущего пользователя
  2. Добавить страницы для остальных модулей (documents, requests, etc.)
  3. Добавить UI библиотеку (Ant Design / Material-UI)
  4. Интегрировать WebSocket для чата
  5. Добавить тесты

Готово! Теперь можно разрабатывать! 🚀