Go to file
DosAi 0fe27033b5
Some checks are pending
CI/CD / lint-and-build (push) Waiting to run
fix: Correct validate middleware to use standard express-validator pattern
2025-11-02 17:17:38 +03:00
.github/workflows feat: Add all improvements - Winston, Validator, Rate Limit, Docker, CI/CD, Documentation 2025-11-02 16:47:30 +03:00
backend fix: Correct validate middleware to use standard express-validator pattern 2025-11-02 17:17:38 +03:00
docs feat: Add all improvements - Winston, Validator, Rate Limit, Docker, CI/CD, Documentation 2025-11-02 16:47:30 +03:00
frontend fix: Correct example component to use /api/example/data endpoint with proper validation 2025-11-02 17:12:42 +03:00
.cursorrules Initial commit: Next.js + Node.js template 2025-11-02 16:37:55 +03:00
.gitignore feat: Add all improvements - Winston, Validator, Rate Limit, Docker, CI/CD, Documentation 2025-11-02 16:47:30 +03:00
.prettierignore feat: Add improvements - Prettier, env examples, middleware, examples 2025-11-02 16:43:28 +03:00
.prettierrc feat: Add improvements - Prettier, env examples, middleware, examples 2025-11-02 16:43:28 +03:00
docker-compose.yml feat: Add all improvements - Winston, Validator, Rate Limit, Docker, CI/CD, Documentation 2025-11-02 16:47:30 +03:00
Dockerfile feat: Add all improvements - Winston, Validator, Rate Limit, Docker, CI/CD, Documentation 2025-11-02 16:47:30 +03:00
Dockerfile.frontend feat: Add all improvements - Winston, Validator, Rate Limit, Docker, CI/CD, Documentation 2025-11-02 16:47:30 +03:00
ecosystem.config.js Initial commit: Next.js + Node.js template 2025-11-02 16:37:55 +03:00
IMPROVEMENTS.md feat: Add all improvements - Winston, Validator, Rate Limit, Docker, CI/CD, Documentation 2025-11-02 16:47:30 +03:00
README.md feat: Add all improvements - Winston, Validator, Rate Limit, Docker, CI/CD, Documentation 2025-11-02 16:47:30 +03:00
SETUP.md Initial commit: Next.js + Node.js template 2025-11-02 16:37:55 +03:00

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)

# Клонировать репозиторий
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 сборка

cd frontend
npm run build
# Статические файлы в frontend/out/

🚢 Деплой на сервер (Ubuntu)

Настройка сервера

  1. Установить Node.js и PM2:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g pm2
  1. Клонировать проект:
cd ~/projects
git clone <repository-url> my-project
cd my-project
  1. Установить зависимости:
cd frontend && npm install && cd ..
cd backend && npm install && cd ..
  1. Собрать фронтенд:
cd frontend && npm run build
  1. Настроить PM2:
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) для локальной разработки.

📚 Документация

🎯 Стандарты разработки

  • Модульная архитектура
  • Строгая типизация TypeScript (без any)
  • ESLint для проверки кода
  • Git workflow: разработка в dev, слияние в main

Подробнее: docs/PROJECT_RULES.md

🔧 Дополнительные инструменты

Форматирование кода (Prettier)

cd frontend
npm run format        # Форматировать весь код
npm run format:check  # Проверить форматирование

Переменные окружения

Скопируйте .env.example файлы и заполните значения:

  • frontend/.env.examplefrontend/.env.local
  • backend/.env.examplebackend/.env

Улучшения шаблона

Шаблон включает следующие улучшения:

  • Winston - продвинутое логирование
  • Express Validator - валидация запросов
  • Express Rate Limit - защита от злоупотреблений
  • dotenv - управление переменными окружения
  • Docker - контейнеризация приложения
  • GitHub Actions - CI/CD автоматизация

Подробные инструкции: docs/USAGE_GUIDE.md Быстрый старт: docs/QUICK_START.md

📝 Лицензия

ISC

👤 Автор

Создано на основе стандартов разработки DosAi

📚 Дополнительная информация

См. IMPROVEMENTS.md для списка улучшений и рекомендаций.