Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

❄️ Service Center Management System

Система учета мебели и управления производством
Веб-приложение для учета заявок с REST API бэкенд и React фронтенд

Frontend Backend Database Docker


📋 Содержание

  1. О проекте
  2. Архитектура
  3. Требования
  4. Быстрый старт
  5. Структура проекта
  6. Разработка
  7. Документация

🎯 О проекте

Service Center Management System — это система для автоматизации работы сервисного центра по ремонту кондиционеров, вентиляции и другого климатического оборудования.

Возможности:

  • 📝 Учет заявок: Полный цикл от создания до закрытия (Create, Assign, Complete).
  • 👥 Ролевая модель: Админ, Менеджер, Мастер, Менеджер по качеству.
  • 📊 Аналитика: Отчеты по выполненным работам, типам неисправностей и KPI мастеров.
  • 🔔 Уведомления: Система оповещений о смене статусов и новых задачах.

🏗 Архитектура

Furniture Accounting System
│
├── Frontend (React + TypeScript)
│   ├── Фреймворк: React 18
│   ├── Язык: TypeScript
│   ├── Управление состоянием: React Query
│   ├── UI библиотека: Ant Design
│   ├── Валидация: Zod + React Hook Form
│   ├── Маршрутизация: React Router
│   ├── Стили: CSS Modules
│   └── Архитектура: Feature-Sliced Design
│
└── Backend (NestJS + Prisma)
    ├── Фреймворк: NestJS
    ├── Язык: TypeScript
    ├── ORM: Prisma
    ├── База данных: PostgreSQL
    ├── Валидация: class-validator
    └── Документация: Swagger

📦 Требования

Убедитесь, что у вас установлено:

Инструмент Версия Проверка
Node.js 18+ node --version
npm 9+ npm --version
Git Latest git --version
Docker Desktop Latest docker --version

🚀 Быстрый старт

Шаг 1: Клонирование репозитория

git clone https://github.com/max4-dev/climate-service
cd climate-service

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

climate-service/
├── backend/        # REST API (NestJS + Prisma)
├── frontend/       # Web UI (React + TypeScript)
└── README.md       # Этот файл

Шаг 2️⃣: Запуск бэкенда

Откройте первый терминал и выполните:

cd backend

# Установка зависимостей
npm install

# Запуск PostgreSQL в Docker (первый раз)
docker-compose up -d

# Генерация Prisma Client
npm run prisma:generate

# Применение миграций
npm run prisma:migrate

# Запуск сервера в режиме разработки
npm run start:dev

✅ Сервер запущен на: http://localhost:3000
📚 Swagger документация: http://localhost:3000/api


Шаг 3️⃣: Запуск фронтенда

Откройте второй терминал (не закрывайте первый!) и выполните:

cd frontend

# Установка зависимостей
npm install

# Запуск сервера разработки
npm run dev

✅ Приложение доступно на: http://localhost:5173


✅ Проверка работы

После запуска обеих частей проверьте:

  1. Фронтенд: Откройте http://localhost:5173

    • Должен загрузиться интерфейс приложения
    • Меню с разделами (Товары, Типы продукта, Материалы)
  2. Бэкенд: Откройте http://localhost:3000/api

    • Должна загрузиться Swagger документация
    • Все API эндпоинты должны быть доступны
  3. База данных: Проверьте контейнер

    docker ps
    # Должен быть контейнер 'climate-service-api-postgres'

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

climate-service/
│
├── backend/                    # REST API
│   ├── src/
│   │   ├── modules/           # Модули CRUD операций
│   │   ├── common/            # Общие конфиги и утилиты
│   │   └── main.ts            # Точка входа
│   ├── prisma/
│   │   ├── schema.prisma      # Схема БД
│   │   ├── migrations/        # Истории миграций
│   │   └── seed.ts            # Тестовые данные
│   ├── docker-compose.yml     # PostgreSQL контейнер
│   ├── .env                   # Переменные окружения
│   └── package.json
│
├── frontend/                   # React приложение
│   ├── src/
│   │   ├── app/               # Корневая конфигурация
│   │   ├── pages/             # Страницы приложения
│   │   ├── entities/          # Бизнес-сущности
│   │   ├── features/          # Функциональные модули
│   │   ├── widgets/           # Сложные компоненты
│   │   ├── shared/            # Переиспользуемый код
│   │   └── main.tsx           # Точка входа
│   ├── index.html
│   ├── vite.config.ts         # Конфигурация Vite
│   └── package.json
│
└── README.md                   # Этот файл

🔧 Разработка

Backend команды

cd backend

# Запуск в режиме разработки
npm run start:dev

# Запуск в режиме отладки
npm run start:debug

# Сборка приложения
npm run build

# Production запуск
npm run start:prod

# Линтинг кода
npm run lint

# Просмотр данных в Prisma Studio
npm run prisma:studio

Frontend команды

cd frontend

# Запуск сервера разработки
npm run dev

# Сборка приложения
npm run build

# Preview production сборки
npm run preview

# Линтинг кода
npm run lint

🐳 Docker команды

cd backend

# Запустить PostgreSQL контейнер
docker-compose up -d

# Остановить контейнер
docker-compose down

# Просмотр логов БД
docker-compose logs -f postgres

# Перезапустить контейнер
docker-compose restart

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages