MES 통합 생산관리 시스템

생산·입고·재고·사용자 관리를 하나로 묶어 현장의 디지털 전환을 견인한 통합 플랫폼

프로젝트 개요

GRAVITY는 제조 현장의 핵심 업무(생산, 입고, 재고, 관리자 설정)를 단일 플랫폼에서 운영하는 스마트 MES입니다. 실시간 재고 흐름 추적, 레시피(BOM) 기반 생산 처리, 역할 기반 관리자 설정 등 현장 요구를 반영하여 설계했습니다. 백엔드(Flask)와 프론트엔드(React)를 직접 설계·구현하고, JWT 인증, 트랜잭션 기반 생산/재고 처리, DB 동기화 전반을 주도했습니다.

핵심 기능

레시피(BOM) 기반 생산 자동화

제품 생산 시 레시피에 정의된 다수 자재를 원자적(atomic) 트랜잭션으로 소모하며, 완료 즉시 재고가 반영됩니다.

JWT 기반 사용자 인증

Flask-JWT-Extended(Python PyJWT 기반)로 로그인·회원가입·토큰 갱신까지 안전한 인증 수명주기를 구현했습니다.

입고 계획/완료 대시보드

입고 계획 테이블과 모달 기반 등록·완료 UI를 제공하고, 상태 구분 렌더링으로 작업 흐름을 명확히 했습니다.

RBAC & 감사로그

역할 기반 접근 제어(RBAC)와 주요 행위 감사로그(Audit Log)로 설정·재고 변경의 추적 가능성과 통제력을 확보했습니다.

Batch/Lot 추적 및 역추적

입고·생산 이벤트에 배치/로트 정보를 부여해 ‘어떤 자재가 어떤 제품으로 전환되었는가’를 역추적할 수 있도록 설계했습니다.

재고 실시간 조회/보정

생산·입고 이벤트 발생 시 재고를 실시간 갱신하며, 품목별 상세 조회/보정(인벤토리 어드저스트) 기능을 제공합니다.

시스템 아키텍처

architecture-0

React(Frontend) ↔ Flask API(Backend) ↔ MySQL

  • JWT 인증(Access/Refresh, Axios 인터셉터 기반 Silent Refresh)
  • 생산 API: 레시피(BOM) 기반 재고 차감 트랜잭션
  • RBAC/Audit Log로 변경 이력 추적 및 접근 통제
  • Docker 기반 실행, (선택) Gunicorn + Nginx 배포

기술 스택

백엔드: Python, Flask, SQLAlchemy, Flask-JWT-Extended, (선택) Alembic 프론트엔드: React, Axios 데이터베이스: MySQL 인프라: Docker, (선택) Gunicorn + Nginx 비동기 처리(선택): Celery + Redis 검증: 스키마 기반 요청/응답 밸리데이션

담당 역할

문제 해결

회고 및 인사이트