IT/팀 프로젝트

팀 프로젝트 #3 - 의료용품 수주 프로젝트 (공급사 관점)

jjinny_0609 2023. 6. 30. 14:21
728x90

개요 

프로젝트 주제 선정 : 두 번째 프로젝트 끝나고 쇼핑몰 만들어보려고 했는데 마지막 프로젝트가 공급사 관점 의료용품 수주 프로젝트로 결정되면서 원래 만들고자 했던 쇼핑몰에 공급사에서 사용할 수 있는 기능을 추가해서 만들게 되었습니다.

 

프로젝트의 목적 : 효율적이고 정확한 수주 프로세스를 구축하여 의료용품을 고객에게 공급하는 것

- 상품 등록 및 관리 : 공급사는 자체 상품을 쇼핑몰에 등록하고 재고를 관리 할 수 있도록 제작

- 주문 및 결제 관리 : 병원마다 코드를 제공해 병원측에서 물품을 구입하면 병원코드를 통해 어디 병원에서 얼마나 샀는지 주문목록을 조회 

 

프로젝트 제작 일정 : 5월 26일 ~ 6월 27일

 - 사전기획 : 5월 26일 ~ 5월 28일

 - 프로젝트 요구사항 정의 : 5월 29일

 - 프로젝트 설계 : 5월 30일

 - 프로젝트 구현 : 5월 30~ 6월 27일

 - 프로젝트 테스트 : 6월 23 ~ 6월 27일

 

맡은 역할 : 팀장, DB설계 및 관리, 협업 도구 관리, 메인 페이지, 물품 추가 페이지, 주문 완료 페이지, 관리자 리스트 페이지 구현


사용한 기술 및 도구

프로젝트 개발 환경 : Eclipse(Version: Photon Release (4.8.0)) , Java1.8, 스프링 프레임워크, MySQL(mybatis & hikariCP)

협업 도구 : notion, Github


프로젝트 결과 

메인페이지

배너 슬라이드 & 그룹 슬라이드를

구현한 메인 페이지 입니다.

 

주요 기능 :

 로그인&회원가입, Mypage,,

 Cart, Category , 이동이동 기능 구현.

 관리자 로그인관리자 페이지로 이동 버튼 표시하여 이동 기능 구현.

메인페이지
메인페이지 동작화면

로그인 페이지

쇼핑몰 사용을 위한 로그인 페이지

주요 기능 :

아이디 비밀번호 유효성 검사를 통해  DB에 저장된 아이디만 로그인

아이디 기억하기 기능

 비밀번호 찾기 기능

로그인 페이지

회원가입 페이지

로그인을 하기전 유저 회원가입 페이지

주요 기능 :

유저 정보를 인풋 창으로 입력받아 저장
병원 코드를 이용해 유효성 검사를 거친병원 정보 저장

회원가입 페이지
회원가입 동작화면

주문 목록 페이지

로그인마이 페이지 이동처음 보여지는 상품 리스트 페이지

주요 기능 :

구매 상품 리스트 확인

주문목록 페이지

배송지 관리 페이지

회원의 배송지를 관리하는 페이지

주요 기능 :

배송지 추가,수정,삭제
저장한 배송지 리스트 출력

배송지 관리 페이지

배송지 추가 페이지

 배송지 추가 버튼 클릭이동되는 페이지

 주요 기능 :

사용자가 배송지 정보를 입력하여 저장
다음 우편API기능을 활용하여 우편번호 검색 구현

배송지 추가 페이지 / 우편번호 찾기
배송지 추가 동작 화면

회원 정보 수정 페이지

개인정보 확인/수정 버튼을 클릭시

이동되는 페이지

주요 기능 :

 회원정보 수정비밀번호 검증을 통해

 유저의 정보를 변경

회원 정보 수정 페이지

카테고리 페이지

카테고리별로 분류한 상품 페이지

주요 기능 :

nav 바의 카테고리 선택상품 분류
상품 선택상품 데이터를 상세페이지로 전달

카테고리 페이지

상품 상세 보기 페이지

카테고리 페이지에서 상품을 클릭했을 때 이동되는 페이지

주요 기능 :

 옵션과 갯수를 선택장바구니에 담거나

 바로 구매구매할 수 있도록 구현.

제품 상세보기 페이지

제품설명 더 보기를 누르면 아래의 상세 보기가 열린다.

이미지 상세보기
카테고리 동작 화면

장바구니 페이지

장바구니에 저장한 상품을 볼 수 있는 페이지

주요 기능 :

 장바구니에 저장한 상품 수량 조절

 장바구니 상품 삭제

 장바구니 상품 주문

장바구니 페이지

체크아웃 페이지

장바구니에서 물건을 구매 시 or 제품 페이지에서 바로 구매 시 이동되는 페이지

주요 기능 :

 구매 요청한 상품과 구매자의 정보를 확인한 후 최종 구매 요청

체크아웃 페이지

구매 확인 페이지

상품 구매 확정 시 보여지는 페이지

주요 기능 :

 주문자의 정보 표시

 결제 금액 표시

 쇼핑돌아가기

구매 확인 페이지

 

바로 주문하는 동작화면

 

관리자 리스트 페이지 (관리자 로그인 필요)

주요 기능 :

 상품 관리 리스트 페이지 이동

 쇼핑몰 물품 등록 페이지 이동

화면 우 상단 admin계정으로 로그인하면 나타남
관리자 페이지

관리자 리스트 페이지

주요 기능 :

관리자 리스트를 통해 구매자, 제품, 구매한 사용자의 소속(병원), 날짜, 수량,재고 확인가능

 * 데이터를 활용하여 차트 구현 가능

관리자 리스트 페이지

관리자 상품 등록 페이지

주요 기능 :

관리자(공급자)가 직접 상품을 추가하여 쇼핑몰에 등록 기능 구현

관리자 상품 등록 페이지

 

관리자 페이지 동작 화면


프로젝트 후기

프로젝트에 사용된 DB 정보 (ERD)

DB를 관리하면서 느낀 점 : 처음부터 계획하고 위처럼 DB에 테이블과 칼럼들을 만들지 않았지만 큰 테이블을 만들어서 어떤 것들이 들어갈지만 일단 정하고 노션에 작성한 뒤 만들기 시작했습니다.

프로젝트가 진행되면서 필요한 부분을 하나씩 추가하면서 DB를 수정해 적용시키고, 변경내역을 노션에 작성해서 팀원들도 어디 부분이 변경되었는지 확인시켜주었습니다. 만약 데이터량이 많아지면 데이터베이스의 성능과 관리자가 필요한 물품을 조회 검색 삭제 변경해야 할 때는 조금 어려움이 있을 것 같은데 다음에는 최적화에 대한 부분도 신경 써야 될 것 같습니다. 

 

협업도구 관리하면서 느낀 점 : 전 프로젝트에서는 노션으로 작업하지 않아서 카톡이나 직접 물어보면서 진행했었는데,

이번 프로젝트에서는 노션을 사용하면서 프로젝트 만들 때 코드 작성 시 규칙(표기법), 추가한 의존성, URL 매핑, 역할 분담, 커밋 내역과 진행상황, DB에 대한 정보 등을 작성해서 사용하였습니다.

또한 브랜치를 이용해서 각자 작업하고 기능을 완성하면 마스터와 병합해서 사용하니 분업이 확실히 잘되고 충돌도 적어서 좋았습니다.

 

프로젝트를 만들면서 느낀 점 : 쿠팡사이트를 따라 만들고 싶어서 팀원들과 의논해 비슷하게 만들게 되었고, 템플릿과 부트스트랩을 사용하지 않고 html, css를 사용해서 페이지를 제작하니 시간을 꽤 걸렸지만 완성도 있게 만들어서 만족했습니다. 메인페이지 배너슬라이드와 그룹슬라이드를 쿠팡과 최대한 비슷하게 만드려고 했던 것 같습니다.

물품 추가 페이지는 카테고리 별로 구분해서 버튼을 누른 값에 대한 정보를 이미지, 제품명, 가격, 옵션, 수량 별로 저장하고 쇼핑몰 카테고리 페이지에 물품을 등록할 수 있도록 데이터를 전달해 줬습니다.

이때 이미지는 원래 AWS s3 버킷에 카테고리별로 저장해서 가지고 오려고 하였으나 스프링프레임워크에서는 세팅을 하는데 어려움이 있어서 작업이 지연될 거 같아 그냥 이미지는 로컬 작업폴더에 저장해서 이미지 path경로를 지정해서 불러오도록 처리해 주었습니다. 이 부분은 스프링 부트로 다른 프로젝트를 진행하면서 한번 해보고 싶네요.

구매 확인 페이지는 체크아웃에서 처리하고 DB에 저장된 값을 값을 불러와서 보여주는 건 어려움이 없었고, 관리자 리스트 페이지를 만들면서 페이징처리로 1,2,3 페이지별로 나누는 게 좋을지 스크롤 방식으로 내리는 게 좋을지 고민도 했었지만 시간상의 문제로 다 넣지못해서 개인 프로젝트에서 해보려고 합니다.

구매를 하고 수량이 넘어가면 결제를 못하게 했어야 했는데 남은수량이 -로 넘어가는 부분이 조금 아쉬웠습니다. 이렇게 중요한 부분에 대해서 미리 인지를 하고 팀원들에게 얘기는 해놨지만 시간적인 문제도 있었고, 발표 준비도 하느라 프로젝트를 완벽하게 완성은 못했지만 기간 내에 필요한 기능을 다 구현해서 만족스럽습니다.

 

마치면서

짧은 일정인데 원하는 기능을 다 넣을 수 있도록 열심히 해줘서 고맙고, 프로젝트를 무사히 마칠 수 있도록 도움 준 우리 팀원들에게 감사 인사 남기면서 마치도록 하겠습니다. 감사합니다!!

728x90