# DoSoap - Модульная система калькуляторов себестоимости Веб-приложение для расчета себестоимости продукции ручной работы (мыло, свечи и др.) с интеграцией Telegram-бота. ## 🚀 Возможности - **Модульная архитектура**: Легкое добавление новых калькуляторов - **Универсальный движок**: Один компонент для всех калькуляторов - **Telegram интеграция**: Автоматическая отправка расчетов в Telegram - **Динамические формы**: Поля и расчеты определяются конфигурацией - **Группировка полей**: Правильное расположение блоков расчета ## 📁 Структура проекта ``` DoSoap/ ├── frontend/ # Next.js приложение │ ├── app/ # App Router страницы │ ├── calculators/ # Модули калькуляторов │ │ ├── soap/ # Калькулятор мыла │ │ └── candles/ # Калькулятор свечей │ ├── components/ # React компоненты │ ├── lib/ # Утилиты и типы │ └── docs/ # Документация ├── backend/ # Express + Telegram Bot └── docs/ # Документация проекта ``` ## 🛠️ Технологический стек **Frontend:** - Next.js 15.3.3 (App Router) - React 19 - TypeScript 5 - Tailwind CSS 4 **Backend:** - Express.js 5 - node-telegram-bot-api - multer (загрузка файлов) ## 📦 Установка и запуск ### Локальная разработка ```bash # Frontend cd frontend npm install npm run dev # Открыть http://localhost:3000 # Backend cd backend npm install node bot.js # Сервер запустится на http://localhost:3001 ``` ### Production сборка ```bash cd frontend npm run build # Статические файлы в frontend/out/ ``` ## 🎯 Добавление нового калькулятора 1. Создать папку `frontend/calculators/[название]/` 2. Создать `config.ts` с конфигурацией 3. Опционально создать `calc.ts` для сложных расчетов 4. Зарегистрировать в `frontend/lib/calculator-registry.ts` Подробные инструкции: [`docs/calculator-creation-guide.md`](docs/calculator-creation-guide.md) ## 📚 Документация - **[Руководство по созданию калькуляторов](frontend/docs/calculator-creation-guide.md)** - Подробная инструкция - **[База знаний](docs/KNOWLEDGE_BASE.md)** - Архитектура и технические детали - **[Правила проекта](docs/PROJECT_RULES.md)** - Стандарты кодирования - **[История изменений](docs/CHANGELOG.md)** - Changelog проекта - **[План работ](docs/PLAN.md)** - Отслеживание задач ## 🔧 Деплой Проект деплоится на сервер через PM2: ```bash # На сервере cd ~/projects/DoSoapCalc git pull origin dev cd frontend && npm run build pm2 restart dosoap-frontend dosoap-backend ``` ## 🧪 Доступные калькуляторы - **Калькулятор мыла** 🧼 - Расчет себестоимости мыла ручной работы - **Калькулятор свечей** 🕯️ - Расчет себестоимости свечей ## 📝 Лицензия ISC ## 👤 Автор DosAi