architect/_archive/2025-11-09-old-structure/docs/templates/project-master-template.md

PROJECT-MASTER.txt Templates

Шаблоны для создания мастер-файлов проектов.


Infrastructure проект

=== МАСТЕР-ФАЙЛ ПРОЕКТА ===

ПРОЕКТ: [название сервера, например: prod-backend-01]
ТИП: infrastructure
ID: [INFRA-001]

ОПИСАНИЕ:
[Для чего этот сервер]
[Что на нем будет работать]
[Важные детали]

СЕРВЕР:
Hostname: [prod-backend-01.company.com]
IP: [192.168.1.10]
SSH User: [deploy/root/nodejs]
SSH Key: [id_prod_backend]

ХАРАКТЕРИСТИКИ:
CPU: [X cores]
RAM: [X GB]
Disk: [X GB SSD/HDD]
OS: [Ubuntu 22.04 LTS]

КОМПОНЕНТЫ:
- [Название]: [версия] - [назначение]
- [Название]: [версия] - [назначение]

КОМАНДА:
Owner: [@username]
Team: [#channel]

СПЕЦИФИКА:
[Особенности настройки]
[Важные детали]

=== КОНЕЦ МАСТЕР-ФАЙЛА ===

Примеры компонентов:
- Node.js: 20 LTS - JavaScript runtime
- PostgreSQL: 15 - Database
- Redis: 7 - Cache
- nginx: 1.24 - Web server
- Docker: latest - Containers
- PM2: latest - Process manager


Application проект (полный)

=== МАСТЕР-ФАЙЛ ПРОЕКТА ===

ПРОЕКТ: [название приложения]
ТИП: application
ID: [APP-001]

ОПИСАНИЕ:
[Что делает приложение]
[Основная функциональность]

СЕРВЕР:
Hostname: [hostname]
IP: [ip]
SSH User: [user]
SSH Key: [keyname]
Path: [/var/www/app]

ТЕХНОЛОГИИ:
Runtime: [Node.js 20 / Python 3.11]
Framework: [NestJS / FastAPI]
Language: [TypeScript / Python]
Database: [PostgreSQL 15]
Cache: [Redis 7]
Other: [PM2, Bull, Winston]

КОМАНДЫ:
Install: [npm install]
Dev: [npm run start:dev]
Test: [npm test]
Build: [npm run build]
Start: [npm run start:prod]

ENVIRONMENT:
Development:
  - NODE_ENV=development
  - PORT=3000
  - DATABASE_URL=postgresql://localhost/app_dev
Production:
  - На сервере в [путь к .env]

КОМАНДА:
Owner: [@username]
Tech Lead: [@username]
Team: [#channel]

СПЕЦИФИКА:
[Health check endpoint]
[API documentation]
[Логи]
[Мониторинг]

=== КОНЕЦ МАСТЕР-ФАЙЛА ===

Application проект (минимальный)

=== МАСТЕР-ФАЙЛ ПРОЕКТА ===

ПРОЕКТ: [название]
ТИП: application
ID: [APP-001]

ОПИСАНИЕ:
[Краткое описание]

СЕРВЕР:
Hostname: [hostname]
IP: [ip]
SSH User: [user]
SSH Key: [keyname]
Path: [/var/www/app]

ТЕХНОЛОГИИ:
Runtime: [Node.js 20]
Framework: [Express]
Database: [PostgreSQL 15]

КОМАНДЫ:
Install: [команда]
Dev: [команда]
Test: [команда]

КОМАНДА:
Owner: [@username]
Team: [#channel]

=== КОНЕЦ МАСТЕР-ФАЙЛА ===

Composite проект

=== МАСТЕР-ФАЙЛ ПРОЕКТА ===

ПРОЕКТ: [название платформы]
ТИП: composite
ID: [COMP-001]

ОПИСАНИЕ:
[Что это за платформа]
[Из чего состоит]

ПОДПРОЕКТЫ:

1. [Название подпроекта]:
   Тип: application
   Сервер: [hostname (ip)]
   Path: [/var/www/path]
   Технологии: [список]
   Команды: [список]
   Owner: [@username]
   [Описание]

2. [Название подпроекта]:
   [аналогично]

КОМАНДА:
Owner: [@username]
Tech Lead: [@username]
Team: [#channel]

СПЕЦИФИКА:
[Как компоненты связаны]
[Общие библиотеки]
[Аутентификация]

=== КОНЕЦ МАСТЕР-ФАЙЛА ===

Подсказки по заполнению

ПРОЕКТ

ID

СЕРВЕР - Hostname

СЕРВЕР - SSH Key

СЕРВЕР - Path (application)

ТЕХНОЛОГИИ

КОМАНДЫ

ENVIRONMENT

КОМАНДА

СПЕЦИФИКА


Проверка перед отправкой

✅ Все обязательные секции заполнены
✅ Нет пустых полей
✅ Версии указаны
✅ Команды рабочие
✅ Owner и Team указаны
✅ Начинается с === МАСТЕР-ФАЙЛ ПРОЕКТА ===
✅ Заканчивается с === КОНЕЦ МАСТЕР-ФАЙЛА ===


Примеры готовых мастер-файлов

Пример 1: Production backend сервер

=== МАСТЕР-ФАЙЛ ПРОЕКТА ===

ПРОЕКТ: prod-backend-02
ТИП: infrastructure
ID: INFRA-002

ОПИСАНИЕ:
Production сервер для backend API и микросервисов платежной системы.
Высоконагруженный сервер с PostgreSQL и Redis.

СЕРВЕР:
Hostname: prod-backend-02.company.com
IP: 192.168.1.11
SSH User: deploy
SSH Key: id_prod_backend

ХАРАКТЕРИСТИКИ:
CPU: 8 cores
RAM: 32 GB
Disk: 200 GB SSD
OS: Ubuntu 22.04 LTS

КОМПОНЕНТЫ:
- Node.js: 20 LTS - JavaScript runtime
- PostgreSQL: 15 - Primary database
- Redis: 7 - Cache и session storage
- nginx: 1.24 - Web server и reverse proxy
- PM2: latest - Process manager
- Prometheus: latest - Мониторинг метрик

КОМАНДА:
Owner: @devops-lead
Team: #devops

СПЕЦИФИКА:
SSL сертификаты через Let's Encrypt (auto-renewal).
Backup базы данных каждые 6 часов в S3.
Мониторинг через Prometheus + Grafana.
Firewall: только порты 22, 80, 443.

=== КОНЕЦ МАСТЕР-ФАЙЛА ===

Пример 2: Payment микросервис

=== МАСТЕР-ФАЙЛ ПРОЕКТА ===

ПРОЕКТ: payment-service
ТИП: application
ID: APP-003

ОПИСАНИЕ:
Микросервис обработки платежей через Stripe и PayPal.
Критичный сервис, требует высокой доступности 24/7.

СЕРВЕР:
Hostname: prod-backend-01.company.com
IP: 192.168.1.10
SSH User: deploy
SSH Key: id_prod_backend
Path: /var/www/payment-service

ТЕХНОЛОГИИ:
Runtime: Node.js 20
Framework: NestJS 10
Language: TypeScript 5
Database: PostgreSQL 15
Cache: Redis 7
Other: Bull (queue), Winston (logs), Stripe SDK, PayPal SDK

КОМАНДЫ:
Install: npm install
Dev: npm run start:dev
Test: npm run test
Build: npm run build
Start: npm run start:prod
Migrate: npm run migration:run

ENVIRONMENT:
Development:
  - NODE_ENV=development
  - PORT=3000
  - DATABASE_URL=postgresql://localhost/payments_dev
  - REDIS_URL=redis://localhost:6379
Production:
  - На сервере в /var/www/payment-service/.env
  - Управляется через Ansible Vault

КОМАНДА:
Owner: @payments-team
Tech Lead: @john
Team: #payments

СПЕЦИФИКА:
Health check: GET /api/health
API Documentation: /api/docs
Логи: /var/www/payment-service/logs/app.log
Webhook endpoints для Stripe и PayPal.
Требуется мониторинг 24/7 через Prometheus.
Rate limiting: 100 req/min per IP.

=== КОНЕЦ МАСТЕР-ФАЙЛА ===