ProcureHub[#]

스마트팩토리, ERP 시스템 구현 실습을 위한 자재 관리 및 조달(발주, 입•출고) 자동화 웹 애플리케이션 제작 프로젝트

👤 GoldenKids

GoldenKids [금쪽이파티]는 아래와 같은 멤버로 구성되었습니다.

정지원 최병준 장연희 최지우

📋 목차

  1. 소개
  2. 기술 스택
  3. 설계
  4. 구현
    4-1. 사용자 인증(로그인) 및 세션 관리
    4-2. 대시보드
    4-3. 계약 관리
    4-4. 자재 관리
    4-5. 조달 관리
    4-6. 발주 관리
    4-7. 입•출고 관리
    4-8. 생산 계획 계산기
    4-9. 업무 현황 관리

소개

프로젝트 목표

이 프로젝트는 엠아이티능력개발원[#]에서 진행한 KDT 과정의 일환으로, 주요 목표는 다음과 같습니다.

이 프로젝트는 위의 목표를 달성하기 위해 진행되었으며, 실질적인 개발 경험과 팀워크, 그리고 문서화의 중요성을 강조하고자 하였습니다.

기술 스택

이 프로젝트는 여러 웹 기술을 사용하여 개발되었습니다. 주요 기술 스택은 다음과 같습니다.

프로그래밍 언어

프레임워크 및 라이브러리

데이터베이스

빌드 도구

서버 환경

도구

설계

이 프로젝트의 설계는 다음과 같은 주요 구성 요소로 이루어져 있습니다.

아키텍쳐

이 웹 애플리케이션은 MVC (Model-View-Controller) 패턴을 사용하여 개발되었으며, 구조도는 아래와 같습니다.

클릭하여 펼치기

이 웹 애플리케이션 내 파일 입•출력을 처리하는 웹 애플리케이션(ProcureHubFiles[#]) 또한 MVC 패턴을 사용하여 개발되었으며, 구조도는 아래와 같습니다.
클릭하여 펼치기

데이터베이스 모델링

데이터 베이스는 다음과 같은 테이블로 구성됩니다.
Trello - DB 테이블 정의서

ERD(엔티티-관계 다이어그램)는 다음과 같습니다.
Trello - DB ER다이어그램

화면 별 기능 정의 및 정책

화면 별 기능 정의 및 정책서는 다음과 같습니다.
Trello - 화면 기능 정의 및 정책서

UI

유저 인터페이스는 사용자 편의를 고려하여 설계되었습니다. 주요 디자인 원칙은 다음과 같습니다.
UI 설계는 와이어프레임 도구인 Figma[#]를 통해 진행하였으며, 결과는 다음과 같습니다.
Trello - 디자인 시안 확정
클릭하여 펼치기

테스트

소프트웨어의 품질을 보장하고, 모든 기능이 예상대로 작동하는지 확인하기 위해 계획한 테스트 게획서는 다음과 같습니다.
Trello - 테스트 계획서

URL 설계

웹 애플리케이션의 URL 설계서는 다음과 같습니다.
URL 설계

서버 및 배포

서버는 Nginx가 사용자의 요청을 라운드 로빈 방식으로 WAS 1과 WAS 2에 분배하며, 각 WAS는 MariaDB와 파일 서버와 연결되어 데이터와 파일 자원을 접근하여 요청을 처리합니다. 모든 서버는 Amazon EC2 인스턴스에서 운영됩니다. 서버 구성도는 아래와 같습니다.
클릭하여 펼치기

배포는 GitHub의 WebHook 및 Jenkins Pipeline을 통해 두 개의 WAS에 롤링 업데이트 방식으로 진행됩니다. 이는 서비스 중단 없이 배포를 진행하여 사용자에게 연속적인 서비스를 제공합니다. 배포 구조도는 다음과 같습니다.
클릭하여 펼치기

구현

ProcureHub는 다음과 같은 주요 기능들로 구성되었습니다.

사용자 인증(로그인) 및 세션 관리

클릭하여 펼치기

대시보드

대시보드는 사용자에게 다음과 같은 정보를 제공합니다:
클릭하여 펼치기
대시보드 생산 계획 추가 및 수정

계약 관리

계약 관리 기능은 업체견적 메뉴로 구성되어 있으며, 각 메뉴의 세부 사항은 다음과 같습니다:

업체

클릭하여 펼치기
업체 목록 및 상세정보 업체 등록
업체 정보 수정 업체 상세정보 내 견적 추가 시

견적

클릭하여 펼치기
견적 목록 (검색) 및 상세정보 견적서 출력 및 파일 업로드
견적 등록 견적 수정
계약 등록 실패 시 계약 등록 성공 시

자재 관리

자재 관리 기능은 자재 목록, 자재 등록, 그룹 목록, 창고 목록으로 구성되어 있으며, 각 메뉴의 세부 사항은 다음과 같습니다:

자재 목록

자재 등록

그룹 목록

창고 목록

클릭하여 펼치기
자재 목록 및 검색 상세정보 및 도면
자재 등록 자재 수정
그룹 목록 창고 목록

조달 관리

조달 관리 기능은 조달 계획 목록으로 구성되어 있으며, 메뉴의 세부 사항은 다음과 같습니다.

자동 생성 및 관리

상태 표시 및 경고

자재 및 발주 관리

조달 상태 관리

클릭하여 펼치기
조달 계획 목록 및 가용 재고 계산 조달 계획 내 계약 추가
리드타임 계산 조달 계획의 상태
조달 계획 목록 내 발주 수동 추가

발주 관리

발주 관리 기능은 발주 현황발주 전체 내역 메뉴로 구성됩니다.

발주 현황

발주 전체 내역

클릭하여 펼치기
발주 대기 화면 발주 대기 수정
발주 수동 추가 및 취소 발주 실행
발주 상세 정보 및 진척 검수 추가 발주 진척 검수 진행
발주 전체 내역 및 상세 정보

입•출고 관리

입•출고 관리 기능은 입고출고 메뉴로 구성되며, 하위 메뉴로 입고 현황, 입고 전체내역, 요청 현황, 출고 전체 내역 으로 구성됩니다.

입고 현황

입고 전체 내역

클릭하여 펼치기
입고 대기 현황 및 수정 입고 도착 및 진행
입고 검수 불량 입고 검수 정상
입고 도착 처리 시, 발주 완료 처리 입고 전체 내역
입고 전체 내역 검색 입고 명세서 발행

(출고) 요청 현황

출고 전체 내역

클릭하여 펼치기
출고 요청 현황 출고 처리
출고 전체 내역, 상세정보, 검색

생산 계획 계산기

생산 계획 계산기도구 메뉴의 세부 메뉴로, 사용자가 생산할 제품의 계획을 세우는 데 필요한 정보를 입력하고, 결과를 쉽게 확인할 수 있도록 설계된 도구입니다.

제품 선택 및 기본 정보 입력

실시간 업데이트 및 사용자 편의성

클릭하여 펼치기

업무 현황 관리

업무 현황 관리는 관리메뉴의 세부 메뉴로, 관리자 권한을 가진 부서만 접근할 수 있습니다. 이 페이지는 사원들의 일일 및 월간 업무 현황을 한눈에 파악할 수 있도록 설계되었습니다.

클릭하여 펼치기