147 lines
4.3 KiB
Markdown
147 lines
4.3 KiB
Markdown
# 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)
|
||
|
||
## 📝 Лицензия
|
||
|
||
ISC
|
||
|
||
## 👤 Автор
|
||
|
||
Создано на основе стандартов разработки DosAi
|
||
|