77 lines
4.7 KiB
Markdown
77 lines
4.7 KiB
Markdown
# Changelog
|
||
|
||
Все значимые изменения в проекте DoSoapCalc документируются в этом файле.
|
||
|
||
Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.0.0/),
|
||
и проект следует [Semantic Versioning](https://semver.org/lang/ru/).
|
||
|
||
## [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` - этот файл для отслеживания изменений
|
||
|
||
### Изменено
|
||
|
||
- **Рефакторинг backend**: Разделение на модули (calculators, lib, routes, config)
|
||
- **Рефакторинг frontend**: Переход на модульную систему с TypeScript типами
|
||
- **API маршруты**: Изменён с `/api/submit` на `/api/submit/:calculatorType`
|
||
- **Компонент SoapCalculator**: Заменён на универсальный DynamicCalculator
|
||
- **Структура проекта**: Реорганизована для масштабируемости
|
||
|
||
### Улучшено
|
||
|
||
- **Безопасность**: Токены и URL вынесены в переменные окружения
|
||
- **Масштабируемость**: Легко добавлять новые калькуляторы без изменения основной логики
|
||
- **Типизация**: Добавлены TypeScript типы для калькуляторов
|
||
- **Код-организация**: Разделение ответственности между модулями
|
||
|
||
### Технические детали
|
||
|
||
#### 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
|
||
- Поддержка загрузки фото
|
||
|
||
---
|
||
|
||
[2.0.0]: https://github.com/yourusername/DoSoapCalc/compare/v1.0.0...v2.0.0
|
||
[1.0.0]: https://github.com/yourusername/DoSoapCalc/releases/tag/v1.0.0
|
||
|