106 lines
3.8 KiB
Plaintext
106 lines
3.8 KiB
Plaintext
# Правила разработки проекта
|
||
|
||
## Общая информация
|
||
|
||
Это шаблон проекта для быстрого старта с 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`
|
||
|