Skip to content

wonjjang44/e-approval

Repository files navigation

전자결재 시스템

이 프로젝트의 1차 목표는 로그인, Redis, JWT, 프론트엔드 구현이 아니라
문서 작성, 결재선 지정, 상신, 승인, 반려, 회수, 이력 기록까지의 핵심 결재 흐름을 REST API로 구현하는 것이다.

Swagger 또는 Postman을 통해 다음 흐름이 검증되면 1차 기능 설계 및 구현 목표를 달성한 것으로 본다.

기술 스택

  • Java 17
  • Spring Boot 3.5.11
  • Spring Data JPA
  • OpenFeign QueryDSL 7.1
  • MySQL
  • Swagger
  • Docker

브랜치

브랜치 설명
main 최종 버전
legacy 기존 설계 백업
v1 1차 기능 개발
v2 2차 기능 개발 예정

1차 기능 설계 목표

  • 전자결재 핵심 도메인 설계
  • 문서 상태 전이 구현
  • 결재선 및 결재 단계 관리
  • 결재 승인/반려 흐름 구현
  • 문서 이력과 결재 이력 분리 관리
  • Swagger를 통한 API 테스트 및 시나리오 검증

1차 기능 범위

문서

  • 문서 임시저장
  • 문서 수정
  • 문서 상신
  • 문서 회수
  • 문서 삭제
  • 내가 작성한 문서 목록 조회
  • 문서 상세 조회

결재

  • 결재선 등록 및 수정
  • 내 결재 대기 문서 조회
  • 결재 승인
  • 결재 반려
  • 결재 이력 조회

사용자/부서

  • 부서 등록 및 조회
  • 사용자 등록 및 조회

1차 제외 기능

아래 기능은 2차 이후로 미룬다.

  • 로그인/JWT
  • Redis
  • 첨부파일 업로드
  • 알림
  • 관리자 기능
  • 대리결재
  • 참조자/열람자
  • 병렬결재
  • 프론트엔드 화면

핵심 정책

문서 상태

상태 설명
DRAFT 임시저장
IN_PROGRESS 결재 진행 중
APPROVED 최종 승인 왼료
REJECTED 반려
WITHDRAWN 회수
DELETED 삭제

결재 단계 상태

상태 설명
WAITING 아직 결재 차례가 아님
PENDING 현재 결재 차례
APPROVED 승인 완료
REJECTED 반려
CANCELED 취소

행위 상태

상태 설명
CREATED 문서 생성/임시저장
UPDATED 문서 수정
SUBMITTED 문서 상신
APPROVED 문서 결재 승인
REJECTED 문서 결재 반려
WITHDRAWN 문서 회수
DELETED 문서 삭제

주요 정책

  • 문서와 결재선은 DRAFT(임시저장) 상태에서만 수정할 수 있다.
  • 문서가 IN_PROGRESS(결재 진행 중) 상태가 되면 제목, 내용, 결재선은 수정할 수 없다.
  • 상신 시 첫 번째 결재 단계는 PENDING(나의 결재 차례), 나머지는 WAITING(나의 결재 차례가 아님) 상태가 된다.
  • 현재 PENDING 상태인 결재자만 승인 또는 반려할 수 있다.
  • 마지막 결재자가 승인하면 문서는 APPROVED(최종 승인 완료) 상태가 된다.
  • 결재자가 반려하면 문서는 REJECTED(반려) 상태가 된다.
  • 반려 이후 남은 결재 단계는 CANCELED(취소) 상태가 된다.
  • 기안자는 IN_PROGRESS 상태의 문서를 회수할 수 있다.
  • 문서 수정/삭제는 기안자 본인이 DRAFT 상태에서만 가능하다.

문서

  • 기능 설계서: docs/전자결재_기능설계_v0.4.pdf
  • DDL: docs/eapproval_v0.1_ddl.sql
  • ERD: docs/전자결재_ERD_v0.2.png

About

전자결재 프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages