추후 공개 예정 (리펙토링 진행 중)
Github 🔗 https://github.com/jigume
매우 큰 배송비 손실 규모, 공동구매를 통해 절감하고자 했어요.
🍊 제주도의 연간 추가 배송비, 20년 기준 600억, 22년 기준 760억 지출
제주도는 2022년 제주도민들이 부담한 택배 추가배송비에 대한 실태조사 결과를 최근 발표했다. 추가 배송비는 기본 배송비와 별도로 섬 지역에 부과되는 비용을 말한다.
실태조사에 따르면 지난해 제주권역 평균 추가 배송비는 주문 1건 당 2,160원으로, 2021년 2,091원보다 69원 상승했다. 내륙권과의 총배송비(기본 배송비에 추가 배송비를 더한 것) 격차는 6.1배였다. 제주권의 평균 총 배송비는 지난해 평균 2,582원이었으나 내륙권 평균 총배송비는 422원에 불과했다.
제주도민들은 추가 배송비로만 지난해 약 760억원을 지출한 것으로 추산된다.
위 의원실은 "제주도민의 경우 1인당 한 해 평균 50회의 택배 물류서비스를 이용하는 것으로 조사됐다. 이는 육지부에 사는 주민에 비해 1인당 10만원, 제주도 전체적으로는 해마다 600억원 이상 더 지불하는 것"이라고 밝혔습니다.
제주도는 도서 산간 지역임에도, 인구밀도가 높아 공동구매를 통한 배송비 절감이 가능한 환경 이에요.
![](https://private-user-images.githubusercontent.com/102659136/287503455-56a111d3-4d9e-4035-abce-875c9c7da165.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODA1MDQsIm5iZiI6MTczOTM4MDIwNCwicGF0aCI6Ii8xMDI2NTkxMzYvMjg3NTAzNDU1LTU2YTExMWQzLTRkOWUtNDAzNS1hYmNlLTg3NWM5YzdkYTE2NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxNzEwMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hYTFkNjkxYjk3ZjA3MWY0ZWVhZmJkNDE3YTUxOWZjZGMzMDlhZDA0MjFiNzVjYmQzZWM3MDBiY2U0MWQ1NWMxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.5OJ5n6Sxg2bjGQnG4i1jpjImz4AebzJg3uiz2-BLIqM)
![](https://private-user-images.githubusercontent.com/102659136/287503442-3018cc27-e061-4cdc-8d50-69983d23b4d6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODA1MDQsIm5iZiI6MTczOTM4MDIwNCwicGF0aCI6Ii8xMDI2NTkxMzYvMjg3NTAzNDQyLTMwMThjYzI3LWUwNjEtNGNkYy04ZDUwLTY5OTgzZDIzYjRkNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxNzEwMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02ZWI4ZWUzYzhkZmU4OTZkMmIwZjFhMmQ1OTk5MTg1NzZhN2VjMzg2ZWJlOGYyNWY2NTg3OWZkNzhhNDI5MjAyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.De3aq-bw31KDtbBFYUH05hq_2-VANMYKpw6Nh-lNR8U)
🌏 지구미에서 공동 구매를 이용하는 사용자들은 직접 픽업을 받으러 가요.
"카카오 지도 API"를 활용한 서비스로 내 위치 기반의 공동 구매를 열거나 찾아갈 수 있도록 했어요.
❶ 카카오 지도 API로 위치기반 서비스 작성
❷ 내 위치 표시
❸ 공구가 열린 장소엔 마커로 표시 : 픽업 받기 편한 공동구매만 골라서
❹ 바텀시트를 통해 선택한 공동구매폼의 정보, 목록을 확인
![](https://private-user-images.githubusercontent.com/102659136/287503430-144b8c4b-a05a-47e7-9345-bd139e455747.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODA1MDQsIm5iZiI6MTczOTM4MDIwNCwicGF0aCI6Ii8xMDI2NTkxMzYvMjg3NTAzNDMwLTE0NGI4YzRiLWEwNWEtNDdlNy05MzQ1LWJkMTM5ZTQ1NTc0Ny5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxNzEwMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zYTY4OTg1ZDc2NTU2MWY4NGM1NzU0NWM3MmFlYzQ0ZmUzY2Y3MjY3ODRkYzI0OGE5MjFlZDdjNzFmMThjNWEwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.IRpmw7Vv-s4QC8KzaFapBKmDbF-pwkcJXjGL-cT2-gQ)
❶ 구매 제품 기반으로 확인하고 싶은 유저를 위해 구매 폼 목록 제공
❷ 제품군 카테고리로 빠른 탐색
![](https://private-user-images.githubusercontent.com/102659136/287503420-239e4d68-19e6-4bb6-b5fc-84e70eb3ee1c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODA1MDQsIm5iZiI6MTczOTM4MDIwNCwicGF0aCI6Ii8xMDI2NTkxMzYvMjg3NTAzNDIwLTIzOWU0ZDY4LTE5ZTYtNGJiNi1iNWZjLTg0ZTcwZWIzZWUxYy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxNzEwMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mNThlZTliODhlZjE3M2I2MTM4YTIzOGY4ZDlhOWVmNDMwNGM0MDJkNTY3MWQ3MjgwYjg1MDZmYzFkZmUwMjQxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.0hcWoKun6jG6wmBdFE2bncjHxhTakYsO3m1b01byIAQ)
❶ 상품 링크 미리 보기
공동 구매할 상품의 링크 정보를 미리 확인해요
❷ 상세 지도 확인
상세지도를 한번 더 제공함으로써, 픽업 장소를 착각하는 일을 다시 한번 방지해요
❸ 공동 구매 정보 확인
참여자 수를 통해 분할할 배송비를 어느정도 예상할 수 있어요. 기존 참여자가 많을수록 새로운 참여자가 늘어날 가능성이 높아요.
![](https://private-user-images.githubusercontent.com/102659136/287503412-7532f0cf-a589-4c1c-a5f3-ab6c8293ce56.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODA1MDQsIm5iZiI6MTczOTM4MDIwNCwicGF0aCI6Ii8xMDI2NTkxMzYvMjg3NTAzNDEyLTc1MzJmMGNmLWE1ODktNGMxYy1hNWYzLWFiNmM4MjkzY2U1Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxNzEwMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04MDJiYTI0MTMzMTQ4NTU3OGMwMjYzZDFhZmM3MzI3NDY1MDI1MTU2YmEwNGYyZjg2YWQzYWVkMTc1MzNkZWE3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.Imt-ciX3P2KIc6dYYduHINKGXI9_jO12jLTXmlAceDs)
❶ 긴 등록 과정을 분할
스크롤 형 입력폼이 아닌, 분할된 원페이지 타입 입력 폼을 사용.
❷ UX라이팅을 통한 유저 중도 이탈 방지
응원, 입력해야 할 정보에 대한 가이드 등 친절한 UX라이팅을 통해 이탈이 덜 발생하도록 했어요.
![](https://private-user-images.githubusercontent.com/102659136/287503402-8dc49ad1-299e-4e93-81e6-53a0a853e9b3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODA1MDQsIm5iZiI6MTczOTM4MDIwNCwicGF0aCI6Ii8xMDI2NTkxMzYvMjg3NTAzNDAyLThkYzQ5YWQxLTI5OWUtNGU5My04MWU2LTUzYTBhODUzZTliMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxNzEwMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yZWQ3ZmY2ZjQzM2NmZjhlYTRjYzNhMjI4NzU2YjczNDNiZTAzZGE1YjQ5ZTc3ZTY4MzdmYTZlNWI3YTAyYzQ2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.xtuDS0DrhA-JPjQTRkdMvKfxQGkzzdaXCpZfefXVZc8)
❶ 팔로워와 구매리더의 소통법 마련
유저간 대화를 통해 픽업 기간, 시간 등을 조율할 수 있어요.
![](https://private-user-images.githubusercontent.com/102659136/287503396-00a38f0a-fe29-4745-93a2-5e090d64c3f3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODA1MDQsIm5iZiI6MTczOTM4MDIwNCwicGF0aCI6Ii8xMDI2NTkxMzYvMjg3NTAzMzk2LTAwYTM4ZjBhLWZlMjktNDc0NS05M2EyLTVlMDkwZDY0YzNmMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxNzEwMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iYTAwOWU5YmQ2ODI2OTkxZTgyOWViOTlhNmI1NjJkZTc0YTZhYjQzZjhlNDkxMTM0YWZhYTFlYTJmZTRhZjIyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.e7q3vXnFSiV-8HfYtXiOmxK1_lHSj-bsIyfOYDfD8fk)
![](https://private-user-images.githubusercontent.com/102659136/287503374-3a424d47-3c36-494e-90e4-654539d7493f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODA1MDQsIm5iZiI6MTczOTM4MDIwNCwicGF0aCI6Ii8xMDI2NTkxMzYvMjg3NTAzMzc0LTNhNDI0ZDQ3LTNjMzYtNDk0ZS05MGU0LTY1NDUzOWQ3NDkzZi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxNzEwMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04ZmYyMzc0YWJhMDQ5OGI0OWY3Y2JmMWQ0YTFhYWFiZjcyNjk1MzVkZmRkMzg5MDhkN2YyYjI2ZWQ0ZWViY2U3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.D3TFB7rS3QM9N_-GHizr_dV4v4OTMBGygeZrYIo0l6s)
- 카카오 등
OAuth
를 통하여 편리한 로그인을 구현하였어요. - Vercel의
CI/CD
를 활용하여 지속적인 서비스를 제공할 수 있고 편리한 배포를 하였어요.
카카오 맵 API
를 사용하여 사용자의 위치를 기반으로 지도 콘텐츠를 사용할 수 있어요.- 좌표보다 이해하기 쉬운 주소로 변환을 위해
지오코더 API
를 통해 편리하게 이용할 수 있어요.
- 빠른 배포를 위해 ESM을 기반인
React Vite
을 사용하여 빌드 시간을 아꼈어요. - 효율적인 데이터 통신 기능을 위하여
React Query
를 사용하였어요. - 에러를 최소화 하기 위해
EsList
와Prettier
를 통해 문법 구조를 통일화하였어요.
SpringBoot 3.1.3
,Gradle 7.6.1
Spring Data JPA
,MYSQL 8.0
- ERD 구성은 ErdCloud를 참고하시길 바랄께요 !
- Jwt를 활용해 네이버 로그인, 카카오 로그인, apple 로그인(추후 도입 예정)을 구현했어요.
- Jwt 기반의
stateless
한 로그인을 구현했어요 !
✋ 작업에 들어가기 전, 팀의 규칙을 지정하고 전체 목표를 설정했어요.
- 호칭은 ㅇㅇ님
- 쿠션어 사용 (혹시 ~~, 바쁘시겠지만 ~~, 등등 기분좋게)
- 타임테이블 준수 (몇 시까지 무엇을 한다는 목표 지정)
- 팀 1차 목표는 지도 화면 구현, 2차 목표는 더미 데이터로 콘텐츠 표시
![](https://private-user-images.githubusercontent.com/102659136/287503359-3a425b27-ba7f-447f-be48-8f381d9c985a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODA1MDQsIm5iZiI6MTczOTM4MDIwNCwicGF0aCI6Ii8xMDI2NTkxMzYvMjg3NTAzMzU5LTNhNDI1YjI3LWJhN2YtNDQ3Zi1iZTQ4LThmMzgxZDljOTg1YS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxNzEwMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03NmZiNmM5ZTkxMTlkMjhmNzhkNGM0OGJjODk0M2NiMGQwM2JkYjNkNjU4NTkzZDQ5YmJlM2YwMWMwN2ZlODQ5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.1b8iDfR9V04Z2BdxXoM9DJu0wQBaKlv9_M9R6ze1AN0)
![](https://private-user-images.githubusercontent.com/102659136/287503341-ce8a5518-627d-4e2b-80bb-102e4b164701.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODA1MDQsIm5iZiI6MTczOTM4MDIwNCwicGF0aCI6Ii8xMDI2NTkxMzYvMjg3NTAzMzQxLWNlOGE1NTE4LTYyN2QtNGUyYi04MGJiLTEwMmU0YjE2NDcwMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxNzEwMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00NmNhNTQ3ZDIwNTVlYWZmOTBlYzlmZDFlNzU2N2NmYjgzYTE2NWM4NDkwZWE1YmM3ZWQ2MzkyNmQxZTBmYjA5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.FHCX8WuFvEOQ4CFHZuyhSVxKCzwXjwOwDsnkjWfs7Ls)