MarketplacesПремиум

Сайт IT/ Digital агентства

Заявки с форм: POST /api/submit-form → MongoDB (spacemodruleads) + Telegram. Отправка в Bitrix отключена.

~45 минСреднийREADME
Next.jsTypeScriptShadcn UITailwindpnpm

Ценность

Вайбкодинг

90 ч

Строк кода

101 000+

Аналог у студии

от 560 000 ₽

Экономия на токенах

≈ 50 000 ₽

Инструкция из репозитория

SpaceMod

Цифровой контур бизнеса: лендинги услуг, SEO/GEO, инструменты, админка лидов и клиентский кабинет CRM на Next.js + MongoDB.


Навигация · Возможности · Админка · Стек · Установка · Env · Структура · Деплой · Git · Docs


Возможности

ПоверхностьПутьОписание
Главная / услуги/, /yandex-direct, /seo-geo-aeo, /crm, …Маркетинговые лендинги v4, формы заявок
SEO / GEO / wiki/seo/*, /geo/*, /wiki/*, /knowledge/*Контентные хабы
Инструменты/tools, /tools/utm-generatorПубличные утилиты
Яндекс Директ/yandex-direct, /yandex-direct/media-planУслуга + медиаплан
Блог/blogПосты (MongoDB / WordPress API)
Кейсы/casesПубличные кейсы
Админка/adminЛиды, блог, CRM, кейсы
Кабинет клиента/cabinetMagic-link вход, чат, задачи, счета

Модули кода

МодульПутьНазначение
Admin leadsmodules/adminКанбан лидов, auth, retry Telegram
CRMmodules/crmКлиенты, чат, задачи, счета (админ UI)
Cabinetmodules/cabinetКлиентский портал + файлы на диске
Casesmodules/casesУправление кейсами
Yandex Directmodules/yandex-directМедиаплан / семантика
Landings v4components/home-concept/v4UI лендингов и реестр страниц

Заявки с форм: POST /api/submit-form → MongoDB (spacemod_ru_leads) + Telegram. Отправка в Bitrix отключена.


Админка /admin

Вход: пароль из ADMIN_PASSWORD (без дефолта в коде). Сессия в sessionStorage.

ВкладкаФункции
ЛидыКанбан по сегментам / Asana-статусам, поиск, CSV, retry Telegram, конвертация в CRM-клиента
БлогCRUD постов, обложки (опционально Kie.ai)
CRMКлиенты, чат, задачи, счета, инвайты, демо-seed
КейсыУправление кейсами сайта

Клиентский кабинет (/cabinet): дашборд, чат, задачи, счета, загрузка платёжек. Файлы — локально в CRM_FILES_DIR (не Vercel Blob).


Tech stack

СлойТехнология
AppNext.js 15.2.4 (App Router), React 19, TypeScript
UITailwind CSS, Radix / shadcn
DataMongoDB 7 (mongodb driver)
Mailnodemailer (SMTP)
ProcessPM2 (ecosystem.config.js)
Package managerpnpm

Версия пакета: 0.1.0 (package.json).


Prerequisites

  • Node.js 18+ (рекомендуется 20/22)
  • pnpm 8+
  • MongoDB 7 (локально или Docker)
  • Git + SSH-доступ к remote

Clone / доступ

git clone git@gitverse.ru:spacemod/spacemod.ru.git
cd spacemod.ru

Доступ к remote выдаёт владелец репозитория out-of-band.


Local development

pnpm install
cp .env.example .env.local
# заполните MONGODB_URI, ADMIN_PASSWORD, TELEGRAM_* и при необходимости SMTP

MongoDB (рекомендуется Docker)

docker run -d --name spacemod-mongo \
  -p 27017:27017 \
  mongo:7

В .env.local:

MONGODB_URI=mongodb://127.0.0.1:27017/spacemod_ai?directConnection=true
MONGODB_DB=spacemod_ai

Cloud Atlas / managed DB — только если владелец явно выдал URI. Не коммитьте credentials.

Dev server

pnpm dev
# http://localhost:3000

Production-сборка локально:

pnpm build && pnpm start

Каталог загрузок CRM создаётся автоматически (storage/crm или CRM_FILES_DIR).


Environment variables

Источник правды: .env.example.

Required

VariableНазначение
NEXT_PUBLIC_SITE_URLПубличный URL сайта
MONGODB_URIСтрока подключения MongoDB
MONGODB_DBИмя БД (обычно spacemod_ai)
ADMIN_PASSWORDПароль /admin
TELEGRAM_BOT_TOKENБот для уведомлений о заявках
TELEGRAM_CHAT_IDChat ID (через запятую)

Recommended (кабинет / CRM)

VariableНазначение
SMTP_*Исходящая почта magic link
CRM_FROM_EMAIL / CRM_FROM_NAMEFrom для писем
CRM_APP_URLБазовый URL для magic links
CRM_FILES_DIRАбсолютный путь к файлам CRM

Optional

VariableНазначение
TELEGRAM_API_BASE_URLПрокси Telegram API
WORDPRESS_API_URLHeadless WordPress blog
KIE_AI_API_KEYГенерация обложек блога

Секреты передаются разработчикам только out-of-band, не через git.


Project structure

app/                 # Next.js App Router (site, admin, cabinet, api)
components/          # UI, лендинги v4, формы
modules/             # admin, cabinet, crm, cases, yandex-direct
lib/                 # mongodb, telegram, seo, mail helpers
public/              # статика
scripts/             # утилиты (+ scripts/scratch)
docs/                # документация и рабочие артефакты
ecosystem.config.js  # PM2
.env.example         # шаблон env (tracked)

Вложенный каталог landingSpacemod/ — legacy-лендинг; основной продукт — корневое Next.js-приложение. Не трогать без задачи.


Common scripts

CommandОписание
pnpm devDev-сервер (порт 3000)
pnpm buildProduction build
pnpm startЗапуск .next
pnpm generate:faviconsГенерация favicon-ов

Диагностика форм (scratch):

node scripts/scratch/test-form-deps.mjs

Production deploy

Целевая схема: VPS + Nginx reverse proxy → Next.js на порту 3000 → PM2.

Критичные правила:

  1. Env только в .env.local на сервере (не в git).
  2. После деплоя: pnpm installpnpm buildpm2 restart <app> --update-env.
  3. Файлы CRM: каталог CRM_FILES_DIR с правами записи у пользователя PM2.
  4. Не использовать git push --force в master / develop.

Краткий цикл на сервере (путь адаптируйте под хост):

cd /var/www/spacemod.ru
# синхронизация кода (rsync / git pull — по договорённости с владельцем)
pnpm install
pnpm build
pm2 restart spacemod-ru --update-env

Подробные runbook-и и nginx — в docs/ops/.

PM2: ecosystem.config.js (PORT=3000).


Git workflow

Ветки:

BranchНазначение
masterproduction
developинтеграционная
feature/*задачи

Правила:

  1. Не коммитить напрямую в master / develop.
  2. Порядок: feature/<name> → merge --no-ff в develop → merge --no-ff в master.
  3. Conventional commits: feat|fix|docs|refactor|chore(scope): …
  4. Не коммитить .env, .env.local, секреты, storage/.

Если ветки develop ещё нет — создать от master перед первой feature-веткой (делает владелец / агент по запросу «запуши»).


Troubleshooting

СимптомЧто проверить
Форма «висит»Telegram chat ID / таймауты; смотрите lib/telegram.ts
/admin 401ADMIN_PASSWORD в .env.local
Кабинет без писемSMTP_* и CRM_APP_URL
Файлы CRM 503/500CRM_FILES_DIR, права на запись
Mongo ошибкиMONGODB_URI, directConnection=true для single-node
Telegram из РФTELEGRAM_API_BASE_URL (прокси)

Security for external developers

  • Не коммитьте секреты; используйте .env.example только как шаблон.
  • Секреты (Mongo, Telegram, SMTP, Admin, Kie.ai) — ротация перед выдачей доступа, если они когда-либо светились в истории/чатах.
  • Admin auth — shared password header; не храните его в клиентских репозиториях.
  • landingSpacemod/ и legacy-скрипты в docs/ / scripts/scratch/ не считать SoT по безопасности.

Чеклист владельца: ротация ключей, выдача env out-of-band, SSH-доступ к remote.


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

Индекс: docs/README.md

РазделСодержание
docs/setup/Env, onboarding
docs/ops/Nginx, деплой, WordPress
docs/product/Скрипты продаж, концепции
docs/audits/Аудиты
docs/legal/Контракты
modules/*/README.mdДокументация модулей рядом с кодом

License / contacts

Private repository. Публичная площадка: spacemod.ru.
Поддержка продукта: support@spacemod.ru (операционный контакт, не git-хостинг).

Master Prompt

Скопируйте в Cursor / Claude Code. Каждый copy даёт новый токен; предыдущий действует ещё 48 часов.

v1.0.0

Master Prompt в Премиум

Скопируйте один prompt в Cursor, Claude Code или Codex — и соберите приложение end-to-end. Внутри — персональный доступ к приватному репозиторию.

Смотреть тарифы

Оплата после выбора тарифа — затем вход или регистрация.

Changelog

  • v1.0.0 · 2026-07-16

    Каталожный релиз spacemod.ru с private repo placeholders.