DoSoapCalc/CHANGELOG.md
dosai 281fc94838 docs: Обновлена документация по настройке Git credentials
- Добавлена информация в CHANGELOG о настройке credential helper
- Обновлён README с инструкциями по автоматической отправке
- Создан .git_setup.md с подробными инструкциями
2025-11-01 19:44:20 +03:00

5.2 KiB
Raw Blame History

Changelog

Все значимые изменения в проекте DoSoapCalc документируются в этом файле.

Формат основан на Keep a Changelog, и проект следует Semantic Versioning.

2.0.0 - 2024-11-01

Добавлено

  • Модульная архитектура калькуляторов: Система поддержки множества калькуляторов с единой логикой
  • Система регистрации калькуляторов: Плагинная архитектура для backend и frontend
  • Универсальный компонент DynamicCalculator: Автоматическая генерация форм из схемы полей
  • Пример нового калькулятора: Калькулятор свечей (candle) как пример добавления новых калькуляторов
  • Динамические роуты: Поддержка /[calculatorType] для любых зарегистрированных калькуляторов
  • Переменные окружения: Использование .env файлов вместо хардкода
  • Валидация данных: Проверка обязательных и числовых полей на backend
  • Улучшенная обработка ошибок: Детальное логирование и обработка ошибок Telegram API
  • PM2 конфигурация: Файл ecosystem.config.js для управления процессами
  • Конфигурация CORS: Настройка разрешённых доменов через переменные окружения
  • Документация:
    • PROJECT_INFO.md - сводная информация о проекте для быстрого понимания
    • CALCULATOR_GUIDE.md - руководство по добавлению новых калькуляторов
    • README.md - обновлённая документация проекта
    • CHANGELOG.md - этот файл для отслеживания изменений
    • .git_setup.md - инструкции по настройке Git credentials

Изменено

  • Рефакторинг backend: Разделение на модули (calculators, lib, routes, config)
  • Рефакторинг frontend: Переход на модульную систему с TypeScript типами
  • API маршруты: Изменён с /api/submit на /api/submit/:calculatorType
  • Компонент SoapCalculator: Заменён на универсальный DynamicCalculator
  • Структура проекта: Реорганизована для масштабируемости

Улучшено

  • Безопасность: Токены и URL вынесены в переменные окружения
  • Масштабируемость: Легко добавлять новые калькуляторы без изменения основной логики
  • Типизация: Добавлены TypeScript типы для калькуляторов
  • Код-организация: Разделение ответственности между модулями

Настроено

  • Git Credential Helper: Настроено автоматическое сохранение credentials для push без запроса пароля
    • Credential helper: store (постоянное сохранение)
    • Файл credentials: ~/.git-credentials (права доступа 600)
    • При первом push вводятся логин и пароль, далее - автоматически

Технические детали

Backend структура:

  • backend/config/env.js - загрузка переменных окружения
  • backend/lib/telegram.js - общая логика отправки в Telegram
  • backend/lib/validator.js - валидация данных
  • backend/calculators/ - модули калькуляторов
  • backend/routes/api.js - динамические API маршруты

Frontend структура:

  • frontend/types/calculator.ts - TypeScript типы
  • frontend/lib/calculators/ - модули калькуляторов (frontend)
  • frontend/components/DynamicCalculator.tsx - универсальный компонент
  • frontend/app/[calculator]/page.tsx - динамические роуты

Зависимости

  • Добавлено: dotenv@^16.4.5 для работы с переменными окружения

1.0.0 - 2024-10-XX

Добавлено

  • Базовый функционал калькулятора мыла
  • Интеграция с Telegram ботом
  • Веб-интерфейс на Next.js
  • Отправка результатов расчёта в Telegram
  • Поддержка загрузки фото