[Project] 악세서리 온라인 쇼핑몰 - hrhz(하루한줌)

프로젝트 개요


🗂️ 프로젝트 목적 및 배경

hrhz 프로젝트는 주얼리 커머스 플랫폼인 'amondz' 를 클론한 미니 프로젝트 입니다.

 

프로젝트 기간은 약 2주 ~ 3주 기간을 가지고 만들었으며, 아래의 기준으로 'amondz' 사이트를 선택했습니다.

  • 학습활용도
    • 웹 기술 구현 시 가장 기초적인 CRUD 기술을 활용할 수 있는 사이트인지
  • 완성도
    • 시간 대비 규모 정도, 하나의 종류를 전문적으로 다루는 사이트인지
  • 트렌드
    • 디자인적 요소가 세련되고 깔끔한 사이트인지
  • 독창성
    • 유명한 쇼핑몰 사이트와 달리 어느정도 독창성이 있는 사이트인지

 

 

⚙️ 기술 스택

 

 


👨‍👩‍👧‍👦 팀 소개 및 구성원

 

팀장

 

JDanmuji - Overview

JDanmuji has 22 repositories available. Follow their code on GitHub.

github.com

 

팀원

 

eunyeoung22 - Overview

eunyeoung22 has 6 repositories available. Follow their code on GitHub.

github.com

 

jihyelisa - Overview

jihyelisa has 7 repositories available. Follow their code on GitHub.

github.com

 

mintcoffeee - Overview

mintcoffeee has 14 repositories available. Follow their code on GitHub.

github.com

 

프로젝트 상세


👀 기존 사이트의 화면 기능 분석

팀원들마다 각자 맡은 기능들을 담당하여 amondz 사이트를 분석하여 해당 파일을 excel 에 정리하여 파악했습니다.

 

 

👨‍👧 관리자 & 사용자

접속하는 계정 권한을 관리자와 사용자로 분리하여 권한별 기능을 구분하였습니다.

 

 

👤 유스케이스

 

 

📚 주요 기능

 

 

1. 메인

 

메인페이지에서는 전체적인 상품 리스트와 쿠폰을 확인할 수 있으며 사용자의 베스트 리뷰도 확인할 수 있습니다.

광고 배너는 부트스트랩을 이용했습니다.

 

 

2. 카테고리

 

좌측의 상품 카테고리를 리스트 이용하여 상품들을 체크하여 or 조건으로 조회할 수 있으며

상품 정렬 기준 및 컬러 필터를 적용시킬 수 있습니다. 하단에 페이징 처리가 되어 있어 많은 상품 리스트를 조회 가능합니다.

 

 

3. 브랜드

제품의 브랜드를 조회할 수 있으며 해당 페이지에서 브랜드의 상세 정보와 브랜드의 제품들 및 좋아요 기능을 이용할 수 있습니다.

 

4. 마이페이지, 장바구니

마이페이지에서는 회원정보수정 및 주문내역 좋아한 상품, 구매후기를 조회할 수 있습니다.

또한, 장바구니 기능을 이용하여 사용자가 장바구니에 넣은 제품들을 관리할 수 있습니다.

 

 

5. 결제하기

상품을 선택하여 결제할 수 있으며 우측의 영수증 리스트 박스가 스크롤 기준으로 움직입니다.

 

6. 관리자 페이지

관리자 계정으로 로그인하면 사용자와 다른 관리자 페이지로 이동하며, 회원목록, 브랜드 CRUD 를 수행할 수 있습니다.

 

 

 

 

🗣️ 협업방식

 

Jira - 프로젝트 관리 및 버그, 이슈 관리하는 소프트웨어

jira를 이용하여 프로젝트 업무 할당 및 진행 현황을 파악했으며 프로젝트의 필요 정보들을 우측에 정리했습니다.

 

 

구글 스프레드 시트  및 공유 문서

jira에서 최대한 관리하려고 했으나 에디터가 불편한점들이 많아

필요한 파일이나 주요 정보들은 구글 스프레드 시트와 구글 공유 문서를 주로 이용했습니다.

 

Source tree  - git 브랜치와 히스토리를 추적하는 git GUI 무료 툴

Source tree를 이용하여 브랜치 경로와 메인 버전 관리를 진행했습니다.

 

기여한 역할


 

프로젝트의 전반적인 관리와 쿼리 및 개발에 참여하며, 

팀원들이 프로젝트의 어려움을 겪을 시 최대한 돕기위해 노력했습니다.

 

 


 

1. Figma 설계

 

프로젝트 개발 착수하기 전,

기간을 고려하여 Figma로 기존 아몬즈 사이트의 일부 기능을 제외한 전체적인 시스템의 UI/UX 디자인을 했습니다.

팀원들이 개발을 진행할 때 프로젝트 프로세스 이해도를 위해 Figma를 가지고 Flow 작업을 했습니다.

 

HRHZ | Figma Community

Figma Community file -

www.figma.com

 

 

2. DB ERD 설계 및 DB 서버 구축

 

사용자와 상품을 기준으로 전체적인 DB ERD를 설계했으며,

데이터의 동일성과 유동성을 고려하여 공통코드 테이블을 분리하여 전체적인 데이터들의 의미있는 코드화를 진행했습니다.

 

HRHZ

Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.

www.erdcloud.com

 

3. jira 및 프로젝트 관리

팀원들이 프로젝트에 집중할 수 있도록 업무 내용을 할당하여 일정관리를 하였으며

회의록과 이슈 등을 정리해 프로젝트의 전체적인 정보를 관리하고 정리했습니다.

 

4. Git 프로젝트 버전 관리

각자 작업 중인 기능 branch를 분리하여 버전 관리를 하였으며,

commit 메세지 규칙을 이용하여 가독성있는 버전관리를 할 수 있도록 힘썻습니다.

 

5. 쿼리

간단한 CRUD 쿼리를 제외하고, 많은 테이블을 Join 해서 데이터를 조회하거나 DB의 여러 기능을 사용할 경우는 도맡아서 했습니다.

 

6. 비밀번호 암호화

회원정보와 같은 주요 정보들은 간단한 비밀번호 암호화를 진행했습니다.

 

7. 전체적인 개발 참여

팀원들이 구현하기 힘들거나 어려운 부분들을 같이 도와주며 개발을 진행했습니다.

특정 기능의 경우, 장바구니 기능과 결제 화면 등을 개발했습니다.

 

 

 

문제 해결 과정


Oracle DB 서버 문제

 

모든 팀원들이 Oracle Cloud 회원가입에 실패하여 오라클 클라우드를 사용하지 못하는 문제가 발생했습니다. 

 

안쓰는 학원 PC 에 DB 서버 구축하였지만 

학원 PC가 갑자기 종료되거나 주말에 학원이 전력을 내려버리면 개발에 문제가 발생되는 문제점들이 있었습니다.

 

또한 Oracle 기준으로 DB 수업을 진행하였기에 팀원들의 다른 클라우드 DB를 사용하게 될 경우,

적응 시간과 프로젝트 기간을 고려하여 Oracle 를 이용해야 되는 생각으로 치우쳤습니다.

(Oracle Cloud 서버를 이용 시, 오라클 클라우드 사이트에서만 가능했으므로 다른 곳을 이용 불가)

 

 

개인적으로 제가 가지고 있던 Synology NAS Server를 안에 Docker를 이용해 Oracle DB 서버 구축 했습니다.

학원 PC로 작업하던 데이터 내용을 새로 구축한 DB 서버에 옮기고 작업을 다시 이어나갔습니다.

 

결과 및 성과


결과적으로 봤을 때, 기간대비 매우 높은 프로젝트 결과물이라고 생각합니다.

이 미니 프로젝트를 계기로 이후의 최종 프로젝트 때도 팀장 직책을 맡을 수 있었지 않았을까 감히 생각해봅니다.

 

 

회고록


사실 위의 기술 스택 같은 경우 이미 전직장에서 했던 기술이라

저는 개발 보다는 전체적인 프로젝트 관리와 팀원 보조에 힘썼습니다.

 

팀원들이 개발에 집중할 수 있는 환경을 조성하기 위해 노력했고, 이 노력을 팀원들이 알아주었습니다.

 

그렇기에 이 프로젝트의 성공은 팀원들의 열정적이고 적극적인 성격과 협업 덕분입니다.

 

저를 제외한 모든 팀원들은 비전공자였지만

처음 도전한 분야에서도 어려운 부분들을 극복하고 그와 무관하게 뛰어난 실력과 노력들을 보여주었습니다.

각자 맡은 부분과 더 나아가 할 수 있는 기능들을 도전했으며 어렵거나 힘든 부분을 서로 도와주며 소통했습니다.

그 덕분에 많은 기능들을 짧은 기간 안에 개발을 완료했습니다.

 

저는 이 hrhz 프로젝트를 통해  많은 것들을 얻어갈 수 있었습니다.

프로젝트는 단순 코드 짜는 것만이 아닌 프로그램을 만드는 과정이 얼마나 소중하고 중요한 경험인지 깨달았습니다.

 

직장에서 주어진 업무만 했던 저는 실제로 프로젝트를 진행하면서 흐름을 파악하고 문제해결능력 및 협업 능력에 대해 키울 수 있었습니다.

또한, 기존에는 cvs, svn 과 같은 형상관리툴을 사용하다 git를 처음 제대로 써봤는데 많은 것들을 배울 수 있었습니다.

처음에는 우왕좌왕하고 레파지토리도 계속 없애고 새로 파고 우여곡절이 많았지만 재미있었습니다 : )

 

이 hrhz프로젝트를 통해 사람들과의 첫 협업 경험을 알아가고 많은 것을 배울 수 있었던 소중한 시간이었다고 생각합니다.

 

 

 

GitHub - JDanmuji/HRHZ5

Contribute to JDanmuji/HRHZ5 development by creating an account on GitHub.

github.com

 

 

 

 

'프로젝트' 카테고리의 다른 글

[Project] 여행 일정 관리 플랫폼 - 마실가실  (0) 2023.09.17