# 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 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 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) для списка улучшений и рекомендаций.