이번에 저는 기존에 개발된 수리 전문가 매칭 플랫폼을 유지보수하면서 여러 개선 사항을 적용하고 기능을 수정하는 작업을 진행했습니다.
유지보수 과정을 통해 배운 점과 작업 내용을 기록합니다.
프로젝트 개요
수리 전문가 매칭 플랫폼 V2는 사용자가 수리 기사를 예약하고, 수리 진행 상태를 관리하며, 포인트와 메시지 기능 등을 활용할 수 있는 웹 플랫폼입니다.
https://dev.hjwjo.com/43
프로젝트를 유지보수하면서 다음과 같은 주요 작업을 수행했습니다:
업데이트 기간
- 2025년 1월 8일 ~ 10일, 16일 (총 3일)
주요 작업 내용
1. Oracle 테이블 및 DB 스키마 수정
- REQUEST 테이블:
STATUS
컬럼에 기본값(DEFAULT 'requested'
)을 추가하여 초기 상태를 명확히 설정.- SQL 문법 오류(ORA-00907) 수정.
- 테이블 및 컬럼 이름을 대문자로 통일하여 코드 일관성 유지.
- MESSAGE 테이블:
MESSAGE
컬럼의 길이를 50자 → 255자로 확장하여 긴 메시지를 저장할 수 있도록 개선.
- POINT_HISTORY 테이블:
- 컬럼 타입을 변경하여 자바와의 데이터 타입 호환성을 강화.
2. Jakarta EE로 전환
- 기존 Java EE 라이브러리를 제거하고 Jakarta EE로 전환:
- JSP 파일의 네임스페이스를
http://jakarta.ee/...
로 수정. - Tomcat 10.x 환경에서 Jakarta EE와의 호환성을 최적화.
- JSP 파일의 네임스페이스를
- EC2 서버 환경 설정:
- 중복 라이브러리를 제거하고 배포 환경을 최적화하여 성능 개선.
3. 예약 및 수리 로직 개선
- 예약자와 수리 기사 입장에서의 버튼 표시 로직 수정:
- 예약자가 예약일 및 시간이 지나지 않은 경우 "예약 완료" 버튼 표시.
- 예약일 및 시간이 지난 경우 "결제 요청" 버튼 표시.
- 수리 기사는 예약일이 미래일 경우 "예약 완료", 지났을 경우 "수리 중" 버튼이 표시되도록 로직 재구성.
- JSP의
<c:choose>
및<c:when>
태그 활용으로 조건 처리 최적화.
4. 포인트 관련 로직 개선
- 적립 및 출금 로직에서
NullPointerException
방지 로직 추가. - 잔액 계산 및 반환 값 검증 로직을 강화하여 안정성 개선.
- 포인트 히스토리 조회 시 발생하던 데이터 타입 오류를 해결.
5. 메시지 관련 로직 개선
- 메시지 길이 유효성 검사(255자 제한) 추가.
- 메시지 내역 조회 및 업데이트 로직에서 예외 처리 강화.
- 잘못된 입력에 대한 사용자 피드백을 개선하여 UX 향상.
6. Tomcat 서버 설정 개선
- 시간대 설정:
- Tomcat의 JVM 옵션에
-Duser.timezone=Asia/Seoul
추가. - DB와 서버 간 시간 불일치 문제를 해결하여 시간 기반 로직의 정확성을 확보.
- Tomcat의 JVM 옵션에
- 캐싱 문제 해결:
- Tomcat
work/
디렉토리를 삭제하여 JSP 업데이트가 반영되지 않던 문제를 해결.
- Tomcat
테스트 결과
- 주요 기능(포인트 적립/출금, 메시지 전송/조회) 모두 정상 작동 확인.
- JSP 및 WAR 배포 후 Jakarta EE 환경에서 정상적으로 동작.
- 예약 및 수리 버튼 로직과 시간대 문제 모두 해결.
제가 개발을 시작했던 첫 JSP 프로젝트를 다시 살펴보며, 여러 테스트를 진행했습니다.
그 과정에서 정말 많은 에러를 발견할 수 있었고, 당시에 제가 얼마나 부족했는지를 다시금 느끼게 되었습니다.
초심으로 돌아간 마음으로 JSP 코드를 하나하나 다시 테스트하고 수정하면서, 그동안 놓치고 있던 것들을 깨닫고 배울 수 있었습니다.
앞으로도 개선과 학습을 반복하며 더 나은 결과를 만들어가겠습니다.
'🏅 Project > Team Project' 카테고리의 다른 글
ERP 시스템 : ERP:RE 기업 프로젝트 회고 (0) | 2024.11.22 |
---|---|
SUSUMA : 수리 전문가 매칭 플랫폼 첫 프로젝트 회고 (0) | 2024.11.10 |