# Правила разработки проекта ## Общая информация Это шаблон проекта для быстрого старта с Next.js фронтендом и Express.js бэкендом. ### Архитектура Проект состоит из двух частей: - **Frontend**: Next.js приложение с App Router - **Backend**: Express.js сервер ### Ключевые компоненты - **Frontend**: Next.js 15 с TypeScript и Tailwind CSS - **Backend**: Express.js сервер - **Статический экспорт**: Frontend собирается в статические файлы ### Технологический стек **Frontend:** - Next.js 15.3.3 (App Router) - React 19 - TypeScript 5 - Tailwind CSS 4 - ESLint **Backend:** - Express.js 5 - TypeScript (опционально) ### Важные правила кодирования 1. **Всегда используй TypeScript типы** - не используй `any`, используй строгую типизацию 2. **Модульность** - структурируй код по модулям 3. **Обработка ошибок** - все API запросы должны обрабатывать ошибки 4. **ESLint** - код должен проходить линтер без ошибок (особенно важно для production build) ### Структура проекта ``` frontend/ app/ # Next.js App Router страницы components/ # React компоненты lib/ # Утилиты и типы docs/ # Документация backend/ server.js # Основной файл сервера routes/ # API маршруты (создавать по мере необходимости) docs/ # Документация проекта ``` ### API Endpoints **Backend:** - Настраиваются в `backend/server.js` - Рекомендуется создавать отдельные файлы в `backend/routes/` **Frontend:** - API URL определяется автоматически: localhost для разработки, продакшн для деплоя ### Деплой Проект деплоится на сервер через: 1. `git pull` на сервере 2. `npm run build` в папке frontend 3. `pm2 restart` для перезапуска процессов ### Файлы и пути - Документация: `docs/` (корень проекта) - Компоненты: `frontend/components/` - Утилиты: `frontend/lib/` - Бэкенд: `backend/server.js` ### Git Workflow **Стандартный процесс разработки:** 1. Все изменения разрабатываются в ветке `dev` 2. Тестирование на сервере происходит из `dev` 3. После проверки `dev` мержится в `main` 4. Используй `--no-ff` при слиянии для сохранения истории **Перед слиянием в main обязательно:** - Протестировать на сервере - Проверить линтер и сборку - Убедиться что всё работает Подробнее: `docs/PROJECT_RULES.md` ### Окружение разработки **Платформы:** - Разработка: Windows + PowerShell - Хостинг: Ubuntu Linux **Важно для разработки:** - В PowerShell используй `;` вместо `&&` для цепочки команд - Пути в Git всегда с `/`, даже на Windows - При работе через SSH используй Linux команды Подробнее: `docs/PROJECT_RULES.md` и `docs/KNOWLEDGE_BASE.md`