개발 기록/개발 요약

[team-project] Hotel PMS

dev.jelee 2025. 4. 29. 00:29

국비지원 무료 교육을 통해 풀스택 6개월 과정의 수업을 듣고 한 달 정도 팀 프로젝트를 진행했다.

우리 팀의 주제는 호텔 PMS이며, 각각 담당한 비즈니스 로직을 구현하고 프런트엔드와 백엔드를 맡아서 개발하였다. (프런트엔드, 또는 백엔드만 개발한 사람도 있었다.)

 

그중 나는 팀장을 맡아서 회의 진행, 사용자/관리자 페이지 프런트 단 github repository 관리, branch merge, 팀 문서 정리, 발표 자료를 준비했고, 개발 관련해서는 결제 관리(사용자/관리자 페이지 각 프런트엔드·백엔드 부분), 게시판(사용자/관리자 페이지 각 프런트엔드 부분), 관리자 페이지 공통 스타일 템플릿을 개발하였다.

 

이 글을 작성하는 요지는 팀 프로젝트는 미완성으로 끝난 프로젝트이며, 개인 포트폴리오에 올리기에는 부족한 부분이 있다고 생각하여 개별적으로 추가 작업을 하고, 이 부분에 대해서 정리를 하고자 글을 남긴다.


  • 주제: 호텔 PMS (Hotel Property Management System)
  • 목표: 사용자와 관리자가 호텔 예약 및 관리 시스템을 편리하게 이용할 수 있는 플랫폼 개발
  • 개발 기간: 24.11.11 ~ 24.12.31
  • 기술 스택:
    • Front-end: React, React Bootstrap, Swiper, date-fns
    • Back-end: Spring Boot, MyBatis
    • Security: JWT, Spring Security
    • Database: MySQL
    • Deployed: Docker, AWS Lightsail
  • 주요 기능:
    • 사용자: 회원가입, 로그인, 객실 정보 조회, 예약 및 결제, 공지사항 확인
    • 관리자: 회원/관리자 조회, 객실 관리, 예약 및 결제 내역 관리, 공지사항 관리

팀 프로젝트 이후, 개별 작업 기록

25.01 ~ 작업중

더보기

 

25.01.27

- 개인 AWS Lightsail에 배포를 위해 환경변수 및 docker, env, nginx 설정.

 

25.01.28

- 결제 api url 설정 수정 작업.

- pagination에서 fetchUrl을 다른 상태변수보다 아래에 둬야 해서 위치 수정함.

- admin 페이지와 연결 작업.

 

/////// (손가락을 다치는 바람에 공백 기간이 생김) ///////

 

25.04.25 

- main 페이지에서 logo 클릭 시 main으로 이동하도록 수정 작업.

 

25.04.26

- main 페이지 ui 수정. (로고, 메뉴 버튼, reservation 버튼, 객실 이동 버튼, 객실 소개 부분 ui 수정)

- menu 페이지 수정 작업. (로고, 각 메뉴, Menu 버튼 대신 Close 버튼 추가, 전체적인 스타일 디테일 작업)

메뉴 페이지 수정 전, 후

- / 경로 접속 시 빈 페이지가 나와서 about 페이지로 연결 작업.

 

25.04.27

- header, footer 전체 수정. (각 영역들 디테일하게 ui 전체 수정함)

header 수정 전, 후
footer 수정 전, 후

- 전체 화면에서 배경 사진의 크기가 고정된 크기로 나오지 않은 현상 수정.

- about 페이지, room view 페이지, room detail 페이지 각 전체 스타일 디테일 수정.

about 페이지 수정 전, 후
room view 페이지 수정 전
room view 페이지 수정 후
room detail 수정 페이지 전, 후

-  special 페이지, event 페이지, breakfast 페이지 구현되지 않아서 준비 중 페이지 생성. (event, breakfast 페이지는 없어서 새로 생성하고 router 지정하여 연결시키기.)

speical 페이지 수정 전, 후 (다른 페이지도 동일해서 speical 페이지만 첨부함)

- reservation guide 페이지 각 전체 스타일 디테일하게 수정 작업.

reservation info 페이지 수정 전, 후

- 실시간 예약 페이지 달력 스타일 디테일하게 수정 작업.

실시간 예약 페이지 달력 수정 전, 후

 

25.04.28

- 실시간 예약 폼 페이지 전체 스타일 디테일 수정 작업.

실시간 예약 폼 페이지 수정 전
실시간 예약 폼 페이지 수정 후

 

25.04.29

- 로그인 페이지 전체 스타일 디테일 수정 작업.

로그인 페이지 수정 전, 후

 

25.05.01

- 약관동의 페이지 스타일 디테일 수정 작업.

약관동의 페이지 수정 전, 후

- 회원가입(회원 정보 입력) 페이지 스타일 디테일 수정 작업.

회원가입 페이지 수정 전, 후

 

25.05.02

- 가입 완료 페이지 스타일 디테일 수정 작업.

가입 완료 페이지 수정 전, 후

 

25.05.08

- gitignore 업데이트

- footer 로그인 시 사용자 이름과 로그아웃 버튼 스타일 변경

- 결제 페이지 전체 스타일 변경

- 예약폼 페이지 체크박스 스타일 변경

- 로그인 사용자 정보 가져오기 위한 코드 추가 (front, api 둘 다 수정)

- 결제 방식 비선택 시 모달창 글자 색이 다른 곳의 css와 겹쳐서 수정

 

25.05.09

- 예약페이지에서 결제페이지로 넘어갈 때, 로그인 했는지 여부 확인하도록 수정.

- 결제 컴포넌트 세분화하기(Main, Complete, Success), 그리고 각 컴포넌트 별 Router 설정과 스타일 수정.

- 결제 성공 시 팝업창이 3초 뒤에 자동으로 닫히고 본 페이지의 페이지가 결제 완료 페이지로 이동하게 작업.

 

25.05.15 - 백엔드 코드 수정 작업

- 결제를 진행할 때 로그인한 사용자와 예약한 사용자가 동일한지 확인하는 로직이 있는데, 로그인한 사용자 정보를 가져올 때 member_id를 가져와야해서 해당 내용 소스코드 추가함.

- 결제 부분에서 성공 페이지로 리다이렉트 될 때, 백엔드 서버로 연결되지 않아서 404에러 나오는 버그 수정.

- 프런트엔드 사용자 페이지와 백엔드 각각 docker build하여 배포 테스트. (확인 완료)

 

25.05.20 - 백엔드 코드 수정 작업, api 문서 작업

- 직원 상세 조회, 스태프 상태 변경, 스태프 삭제에서 메서드 파라미터를 읽지 못하여 생기는 컴파일 오류 수정.

- api 문서 작업: 사용자페이지 = 인증/인가, 공지사항

- api 문서 작업: 관리자페이지 = 인증/인가, 회원관리, 직원관리, 공지사항관리

 

25.05.21 - api 문서 작업

- api 문서 작업 : 사용자페이지 = 객실

- api 문서 작업 : 관리자페이지 = 객실관리

 


추가 작업 해야하는 부분

- 회원가입, 약관동의, 로그인 페이지 전체 스타일 디테일 수정 작업.

- 배포 해놓은 서버, ip로 접속시 로그인은 되는데 local에서는 로그인이 안되는 현상 해결하기.

- 예약 기능과 연결되어 있는 결제 기능이 postman을 통해 api로는 테스트 하였을 경우 정상 작동하나, front-end에서는 정상적으로 작동하지 않은 현상 해결하기.

-> 찾아보니 front-end 예약페이지에서 사용자를 더미 데이터로 지정해 놓아서 안됨. 어쩔 수없이 고정 더미 데이터로 두고, 테스트에도 해당 사용자로 로그인하여 결제하도록 하던가, 혹은 따로 예약 기능에서 front-end 부분을 로그인한 사용자의 정보를 결제 페이지로 넘겨주는 수정 작업을 해야할 거 같음.

- paypal 결제 시 성공 페이지로 넘어가는 기능 추가하기.

- 사용자 페이지 front-end에서 결제 부분, 결제 중간에 팝업창을 닫거나 취소하면 결제 취소되도록 수정하기.

- api 문서 작업하면서 수정되는 부분을 체크해 두었다가 다시 docker image로 생성 후 배포하기.