Skip to content

butovx/MilaERP

Repository files navigation

Mila ERP System

Современная ERP-система для управления складом с элегантным светлым дизайном, построенная на Next.js 15, React 19, TypeScript и PostgreSQL.

Особенности

  • 📦 Управление коробками

    • Создание и управление коробками
    • Отслеживание содержимого
    • Генерация штрих-кодов для коробок
    • Сканирование для быстрого доступа
  • 🏷️ Управление продуктами

    • Добавление и редактирование продуктов
    • Генерация штрих-кодов для продуктов
    • Отслеживание количества
    • Категоризация продуктов
    • Прикрепление фотографий
  • 📱 Сканирование штрих-кодов

    • Сканирование штрих-кодов в реальном времени
    • Поддержка формата EAN-13
    • Валидация префиксов (200 для коробок, 300 для продуктов)
    • Ручной ввод штрих-кода
    • История сканирования
  • 🔍 Поиск и фильтрация

    • Поиск продуктов по названию или штрих-коду
    • Фильтрация продуктов по категории
    • Расширенные параметры поиска
  • 📊 Отчеты

    • Отчеты о содержимом коробок
    • Отчеты о запасах продуктов
    • Функционал экспорта

Стек технологий

  • Фронтенд:

    • Next.js 15 (App Router)
    • React 19
    • TypeScript
    • Tailwind CSS с современной светлой темой
    • HeadlessUI для компонентов пользовательского интерфейса
    • Framer Motion для анимаций
    • React Hot Toast для уведомлений
    • Recharts для визуализации данных
    • QuaggaJS для сканирования штрих-кодов
    • Heroicons для иконок
    • BWIP-JS для генерации штрих-кодов
  • Бэкенд:

    • Next.js API Routes
    • PostgreSQL
    • TypeScript
  • Инструменты разработки:

    • ESLint
    • Prettier
    • TypeScript

Дизайн

Система использует современный светлый дизайн с акцентом на удобство использования:

  • Единая светлая тема для лучшей читаемости и стильного вида
  • Тщательно продуманные отступы и типографика
  • Мягкие тени и современные скругленные углы
  • Семантическая цветовая схема:
    • Primary: оттенки синего для основных действий
    • Accent: зеленые оттенки для подтверждения и успеха
    • Warning: оранжевые оттенки для предупреждений
    • Danger: красные оттенки для ошибок и удаления

Предварительные требования

  • Node.js 18 или выше
  • PostgreSQL 14 или выше
  • npm или yarn

Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/butovx/milaerp.git
    cd milaerp
  2. Установите зависимости:

    npm install
    # или
    yarn install
  3. Настройте переменные окружения:

    cp .env.example .env

    Отредактируйте .env с вашими учетными данными базы данных и другими настройками.

  4. Настройте базу данных:

    npx prisma generate
    npx prisma db push
  5. Запустите сервер разработки:

    npm run dev
    # или
    yarn dev
  6. Откройте http://localhost:3000 в вашем браузере.

Структура проекта

src/
├── app/                    # Каталог Next.js app
│   ├── api/               # API-маршруты
│   ├── boxes/             # Страницы управления коробками
│   ├── products/          # Страницы управления продуктами
│   └── scan/              # Страница сканирования штрих-кода
├── components/            # Многоразовые компоненты
├── lib/                   # Служебные функции и конфигурации
├── utils/                 # Вспомогательные утилиты
├── hooks/                 # Пользовательские хуки React
└── types/                 # Определения типов TypeScript

API-документация

Продукты

  • GET /api/products - Получить все продукты
  • GET /api/products/[id] - Получить продукт по ID
  • GET /api/products/barcode/[code] - Получить продукт по штрих-коду
  • POST /api/products - Создать новый продукт
  • PUT /api/products/[id] - Обновить продукт
  • DELETE /api/products/[id] - Удалить продукт

Коробки

  • GET /api/boxes - Получить все коробки
  • GET /api/boxes/[id] - Получить коробку по ID
  • GET /api/boxes/barcode/[code] - Получить коробку по штрих-коду
  • POST /api/boxes - Создать новую коробку
  • PUT /api/boxes/[id] - Обновить коробку
  • DELETE /api/boxes/[id] - Удалить коробку

Элементы коробки

  • GET /api/box-items - Получить все элементы коробки
  • POST /api/box-items - Добавить элемент в коробку
  • DELETE /api/box-items/[boxId]/[productId] - Удалить элемент из коробки

Вклад в проект

  1. Сделайте форк репозитория
  2. Создайте ветку для вашей функции (git checkout -b feature/amazing-feature)
  3. Зафиксируйте ваши изменения (git commit -m 'Add some amazing feature')
  4. Отправьте в ветку (git push origin feature/amazing-feature)
  5. Откройте Pull Request

Лицензия

Этот проект лицензирован по MIT License - см. файл LICENSE для деталей.

Поддержка

Для получения поддержки, пожалуйста, откройте issue в GitHub-репозитории или свяжитесь с командой разработчиков.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published