110 lines
3.9 KiB
Markdown
110 lines
3.9 KiB
Markdown
# 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
|
||
|