Skip to content

Latest commit

 

History

History
212 lines (154 loc) · 7.08 KB

File metadata and controls

212 lines (154 loc) · 7.08 KB

Nuct Logo

Сосредоточьтесь на бизнесе. Инфраструктуру доверьте Nuct.

Корпоративный full-stack каркас на NestJS + Vue3. Мультитенантность, RBAC, AI-разработка через Cursor Rules & Skills.

English · 简体中文 · 繁體中文 · 日本語 · Русский

Commit activity License Repo size Top language


  • Быстрый каркас для малых и средних приложений
  • Преднастроенные Cursor Rules & Skills для AI-разработки

Скриншоты 📸

Содержание 📚

Обзор ✨

  • Учётная запись по умолчанию: admin / a123456 🔑
  • Мультитенантность, RBAC, SSO — подходит для админ-панелей и SaaS-платформ

Структура проекта 🧱

nuct/
├── backend/          # Бэкенд админки (NestJS, порт 7001)
├── backend-user/     # C-конец API пользователей (NestJS, порт 8001)
├── frontend/         # Фронтенд админки (Vue3, порт 8088)
└── README.md

Технологии 🛠

Слой Технологии
Бэкенд NestJS, TypeScript, TypeORM, Redis, MySQL, JWT, Swagger, Bull
Фронтенд Vue3, Vite5, Ant Design Vue4, TypeScript5, Pinia, UnoCSS

Быстрые ссылки 🔗

Требования 📦

  • Node.js 20+
  • Docker 20.x+ (docker compose 2.17.0+)
  • MySQL 8.x+
  • Менеджер пакетов pnpm

Быстрый старт 🚀

Docker

cd backend
pnpm docker:up
# или
docker compose --env-file .env --env-file .env.production up -d --no-build

После запуска: Swagger http://localhost:7001/api-docs/

Остановка контейнеров:

cd backend
pnpm docker:down

Локальная разработка

1. Клонирование

git clone https://github.com/zeeklog/nuct
cd nuct

2. Подготовка

  • База данных: выполнить backend/deploy/sql/nest_admin.sql

  • Конфигурация: скопировать .env.example.env, .env.development.example.env.development

  • RSA-ключ (для шифрования паролей):

    cd backend
    mkdir -p RSA_PRIVATE_KEY
    openssl genrsa -out RSA_PRIVATE_KEY/rsa-private.pem 2048

    В .env указать RSA_PRIVATE_KEY_PATH=RSA_PRIVATE_KEY/rsa-private.pem.

Опционально — запуск MySQL/Redis через Docker:

cd backend
docker compose --env-file .env --env-file .env.development run -d --service-ports mysql
docker compose --env-file .env --env-file .env.development run -d --service-ports redis

3. Установка и запуск

pnpm install
pnpm migration:run   # в backend
pnpm dev

4. Доступ

Подпроекты 📁

Каталог Описание Порт
backend/ Бэкенд админки (NestJS) 7001
backend-user/ C-конец API (NestJS) 8001
frontend/ Фронтенд админки (Vue3) 8088

Миграции БД 🗄

В корне проекта:

pnpm migration:run      # Применить миграции
pnpm migration:generate # Создать миграцию
pnpm migration:revert   # Откатить последнюю

При изменении сущностей или конфигурации БД сначала выполните pnpm build в backend.

Правила Cursor AI 🤖

В .cursor/ настроены правила и навыки для AI-разработки.

Правила

Файл Описание Область
rules/00-project.mdc Архитектура и общие соглашения Всегда
rules/01-frontend-style.mdc CSS и именование фронтенда Фронтенд
rules/01-data-design.mdc Дизайн БД и модель RBAC Бэкенд
rules/02-backend.mdc Соглашения NestJS backend/**/*.ts
rules/03-frontend.mdc Соглашения Vue3 frontend/**/*.{ts,vue}
rules/04-backend-docs.mdc Справка API бэкенда Бэкенд
rules/tenant-init.mdc Инициализация тенантов tenant/**/*.ts

Навыки

Навык Путь Назначение
nest-admin-backend skills/nest-admin-backend/SKILL.md API, контроллеры, сервисы, миграции
nest-admin-crud skills/nest-admin-crud/SKILL.md Полный цикл CRUD-модуля
nest-admin-permission skills/nest-admin-permission/SKILL.md RBAC, меню, definePermission, sys_menu

Участие 🤝

Приветствуются звёзды и pull request'ы.

Благодарности 🙏

Основано на:

Лицензия

BSL 1.1