NextNodeTemplate/README.md
2025-11-02 16:47:30 +03:00

180 lines
5.7 KiB
Markdown
Raw Permalink 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.

# Next.js + Node.js Backend Template
Готовый шаблон для быстрого старта проектов с Next.js фронтендом и Express.js бэкендом.
## 🚀 Возможности
- **Next.js 15** с App Router (статический экспорт)
- **Express.js** бэкенд
- **TypeScript** полная поддержка
- **Tailwind CSS 4** для стилизации
- **ESLint** настроенный
- **Модульная архитектура** готовая к расширению
- **Документация** и правила разработки
## 📁 Структура проекта
```
NextNodeTemplate/
├── frontend/ # Next.js приложение
│ ├── app/ # App Router страницы
│ ├── components/ # React компоненты
│ ├── lib/ # Утилиты и типы
│ └── docs/ # Документация фронтенда
├── backend/ # Express.js сервер
│ └── server.js # Основной файл сервера
├── docs/ # Документация проекта
│ ├── PROJECT_RULES.md # Правила разработки
│ ├── KNOWLEDGE_BASE.md # База знаний
│ └── CHANGELOG.md # История изменений
├── .cursorrules # Правила для AI-ассистента
└── README.md # Этот файл
```
## 🛠️ Технологический стек
**Frontend:**
- Next.js 15.3.3 (App Router)
- React 19
- TypeScript 5
- Tailwind CSS 4
**Backend:**
- Express.js 5
- TypeScript (опционально)
## 📦 Установка и запуск
### Локальная разработка (Windows + PowerShell)
```powershell
# Клонировать репозиторий
git clone <repository-url> my-project
cd my-project
# Frontend
cd frontend
npm install
npm run dev
# Открыть http://localhost:3000
# Backend (в отдельном терминале)
cd backend
npm install
node server.js
# Сервер запустится на http://localhost:3001
```
### Production сборка
```powershell
cd frontend
npm run build
# Статические файлы в frontend/out/
```
## 🚢 Деплой на сервер (Ubuntu)
### Настройка сервера
1. Установить Node.js и PM2:
```bash
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g pm2
```
2. Клонировать проект:
```bash
cd ~/projects
git clone <repository-url> my-project
cd my-project
```
3. Установить зависимости:
```bash
cd frontend && npm install && cd ..
cd backend && npm install && cd ..
```
4. Собрать фронтенд:
```bash
cd frontend && npm run build
```
5. Настроить PM2:
```bash
pm2 start backend/server.js --name my-project-backend
pm2 start frontend/.next/start.js --name my-project-frontend
# или настроить ecosystem.config.js
```
## 🔧 Настройка проекта
### Переименование проекта
1. Обновить `package.json` в `frontend/` и `backend/`
2. Обновить название в `README.md`
3. Обновить пути в конфигурации (если нужно)
### Переменные окружения
Создайте файлы `.env.local` (frontend) и `.env` (backend) для локальной разработки.
## 📚 Документация
- **[Правила проекта](docs/PROJECT_RULES.md)** - Стандарты кодирования и workflow
- **[База знаний](docs/KNOWLEDGE_BASE.md)** - Архитектура и технические детали
- **[История изменений](docs/CHANGELOG.md)** - Changelog
## 🎯 Стандарты разработки
- Модульная архитектура
- Строгая типизация TypeScript (без `any`)
- ESLint для проверки кода
- Git workflow: разработка в `dev`, слияние в `main`
Подробнее: [`docs/PROJECT_RULES.md`](docs/PROJECT_RULES.md)
## 🔧 Дополнительные инструменты
### Форматирование кода (Prettier)
```powershell
cd frontend
npm run format # Форматировать весь код
npm run format:check # Проверить форматирование
```
### Переменные окружения
Скопируйте `.env.example` файлы и заполните значения:
- `frontend/.env.example``frontend/.env.local`
- `backend/.env.example``backend/.env`
### Улучшения шаблона
Шаблон включает следующие улучшения:
-**Winston** - продвинутое логирование
-**Express Validator** - валидация запросов
-**Express Rate Limit** - защита от злоупотреблений
-**dotenv** - управление переменными окружения
-**Docker** - контейнеризация приложения
-**GitHub Actions** - CI/CD автоматизация
Подробные инструкции: [`docs/USAGE_GUIDE.md`](docs/USAGE_GUIDE.md)
Быстрый старт: [`docs/QUICK_START.md`](docs/QUICK_START.md)
## 📝 Лицензия
ISC
## 👤 Автор
Создано на основе стандартов разработки DosAi
## 📚 Дополнительная информация
См. [`IMPROVEMENTS.md`](IMPROVEMENTS.md) для списка улучшений и рекомендаций.