Jang_bo_go 15

장보고 마치며

프로젝트의 퀄리티가 기준이라면 망했고 공부로 했다면 대 성공 했던 프로젝트 같다 1.잘못된 도메인 설계 -주문/가게 이렇게 나눠야 하는데 프로토콜로 나눈시도가 있었다(get,post) 뒤늦게 후회 했지만 이미 너무 먼길을 왔다 아래 영상을 강력히 추천한다 https://www.youtube.com/watch?v=4DxHX95Lq2U 2.새로운 기술을 많이 넣었다 -aop/aysnc/websocket등 이번에 새롭게 터득한 기술이 많았다 그래서 좀더 혼잡하게 코딩이 되어버렸다 그치만 나에게 아주 좋은 자양분이 되었다 3.vue 와 spa -사실상 이프로젝트가 처지고 동력을 잃게된 큰 요인이다 Spa특징을 살릴려고 새로고침없이 컴포넌트를 교체하고 컴포넌트 안에서 페이징 처리를 하는게 아주 새로웠다 그래서 더..

Jang_bo_go 2022.04.03

큰일이 났다

주문시스템이 잘못 구축했다 현재 -a/b/c등 매장 여러개 선택가능 각매장의 배달반경/배달최소금액만 넘으면 된다 이슈 -셋중 한매장에서 환불이나/품절이 일어났을때 끔찍하다 이래서 배민/로마켓등 매장별로 나눠논거같다 원래 알고 구축했는데 음? 난 더어렵게 해봐야지 했는데 멍청한...생각이였다 어렵게 구축하는게 아니라 그냥 멍청하게 구축한거였다 ㅋㅋㅋ 재구축을 해야할지.... 그냥 넘어가야할지 ㅎㅎ..... 장바구니+결제시스템 까지 영향을 받을 텐데 ㅎㅎ.. 내가 내자신에게 시련을 준다 다음주 화 출근 전까지 일단 배달 까지 해보고 남는시간에 바꾸자!

Jang_bo_go 2022.03.31

Springboot 결제시스템(4) 결제검증

pg사에서 받은 정보를 검증하는 로직을 만들자 간단하게 금액만 비교하고 넘겨주자 (원래 실무에서는 훨씬 많은 검증을 하겠지만) 카카오페이연동 https://cordingmonster.tistory.com/221?category=1085850 세틀뱅크연동 https://cordingmonster.tistory.com/226 Springboot 세틀뱅크 카드/가상계좌결제(1) 결제창 호출 테스트 요청을 하고 https://develop.sbsvc.online/requestTest.do 세틀뱅크 개발 지원 서비스별 테스트 신청 develop.sbsvc.online 바로 테스트할 수 있다 1. 백엔드에서는 암호화만 잘해서 주면 된다 https://de.. cordingmonster.tistory.com 흐름 r..

Jang_bo_go 2022.03.16

Springboot 결제시스템(3) redis에 저장하기

이제 만들어 진정보를 redis 임시저장후 pg사로 요청하자 흐름 redis저장->pg사 조건으로 변수들만듬->프론트 엔드 전달->프론트에서 pg사 결제창 호출 redis저장 redis 커스텀 객체 map으로 저장하기 모른다면 https://cordingmonster.tistory.com/216?category=1084481 Springboot redis 커스텀 객체넣기 아주 쉽게 넣을 수 있다 redis 연동글 https://velog.io/@devsh/Redis-8-Spring-Boot-Redis-%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0 [Redis - 8] Spring Boot Redis 사용해보기 Mac OS CatalinaSpring Boo.. cordi..

Jang_bo_go 2022.03.11

Springboot 결제시스템(2) 쿠폰,상품,주소,거리,매장검증

이제 제일 어려운 구간이다 흐름 쿠폰 1차 유효성 검사-> 매장별로 제품을 꺼낸다->상품을 검증한다->쿠폰 2차 검증한다 제품별 결제정보 생성->매장 조건에 부합하는지 검증한다 1. 쿠폰 1차 검사 쿠폰 유효성 검사 후 받는다 couponVo couponVo=couponService.CheckAndGet(couponName); 2. 매장별로 제품을 꺼낸다 매장 꺼내기 storeVo storeVo=storeService.getVo(storeId); 검증 전 일단 배달 가능 지역인지 확인 if(checkDeliverRadius(storeVo.getSaddress(),storeVo.getDeliverRadius(),tryOrderDto.getAddress())){ 이 함수 안에서 카카오 주소 api를 호출해 ..

Jang_bo_go 2022.03.11

Springboot 결제시스템(1) 매장별 분리

장바구니 후 결제를 눌렀을 때 처리를 해보자 일단 장바구니에 있는 제품들을 보면 각 다른 매장 ex) 00동 하나로마트의 바나나, 00동 이마트의 소고기 등 서로 다른 매장의 물품이 섞여 있을 수 있다 그걸 제일 먼저 분리하고 매장별로 상품을 묶어 검증을 하자 흐름 장바구니 가져오기->매장별 분리-> 쿠폰, 제품, 매장 조건 검증 ->redis에 결제 정보 담기->선택 pg사 호출 1. 장바구니 가져오기 all -전체 choice -선택 장바구니만 join으로 제품까지 같이 들고 온다 2. 매장별 분리 장바구니 속에든 제품 정보로 매장별로 묶어준다 3. 쿠폰, 제품, 매장 조건 검증 -하이라이트 구간이다 다음 글에서 써보자

Jang_bo_go 2022.03.11

SpringBoot 장바구니 만들기(미완성버전)

미완성 사이드바가 가리긴 하는데 일단 전략을 바꿨다 구축하고 리팩터링 하는 걸로 그리고 애초에 장바구니에서 주문이 되는게 아니라 결제 페이지가 있어야하는데 일단 한꺼번에 만들었다 1. 수량조절 장바구니 고유 id값을 전달해 준다 요청받은 id/개수를 서버로 준다 서버 장바구니 id로 조회 basketVo basketVo=basketDao.findById(basketId).orElseThrow(()->utillService.makeRuntimeEX("존재하지 않는 장바구니 품목입니다", "tryUpadte")); 업데이트 basketVo.setCount(count); 가격 재계산 ((productVo)productService.getProduct(basketVo.getProductId()).get("mes..

Jang_bo_go 2022.03.07

프로젝트 중간상태

정확히는 결제 시스템 까지만 만들고 중단하려고 한다 이유 1.새로운 기술 많이습득 -aop/websocket/async/이전에 생각못했던 방식/aws/vue(전반적으로 모두) 한마디로 배불러서 프로젝트가 질림 2.rest api설계 실패 -url 가관 3.user db설계 실패 4.시간 분배 실패 -특히 vue에서 페이징 터득 기술이 예상 보다 훨씬 오래걸렸다 5.무의미한 페이지 속출 -무의미라는건 a라는 페이지에서 어떤한 기능을 구현 하였을때 얻는게 있어야하는데 남은 작업대부분은 뿌려주기만 하는 페이지임 사실상 디자인이 중요한 페이지 6.디자인의 부재 -디자인 요소가 없어도 너무 없음 7.vue 설계 실패 -처음 깊이 다루기 시작해서 아쉬운 부분이많음 하지만 많은걸 얻음 8.형상관리 실패 - 첫 버전관..

Jang_bo_go 2022.02.28

vue.js 동적 라우팅+동적 컴포넌트

사장님 페이지를 만들고 있는 중이다 (원래 사이트를 분리해야 하지만 토이 프로젝트이니까) 사이드 바를 구축하고 이제 사이드바 메뉴를 만들고 클릭이 이뤄지면 옆에 내용이 바뀌면 된다 근데! 새로고침이 거슬렸다 그래서 제일 큰 컴포넌트 안에 경로에 따라서 컴포넌트를 호출하는 방법이 없을까? 고민하다가 찾았다 동적 라우팅 동적 라우팅은 아주 간단하게 이뤄진다 {path:'/companyPage/:id',component:companyPage}, /경로/:값 :문자만 앞에 붙히면된다 받을때 this.choose=this.$route.params.id; .파라미터 이름 으로 꺼내서 쓰면된다 동적컴포넌트 아래글이 제일 이해가 잘갔다 https://become-a-developer.tistory.com/entry/%..

Jang_bo_go 2022.01.15

springboot google ocr api 호출하기!

1. 키 발급 서비스 계정 클릭-> 대충 만들고->밑에 서비스 계정 확인-> 클릭-> 키 클릭-> 키 추가-> 새키 만들기 키를 받아서 원하는 곳에 위치시킨다 2. 환경변수 등록 경로를 잡아준다 3. 디펜던시 추가 implementation group: 'com.google.cloud', name: 'spring-cloud-gcp-starter', version: '2.0.7' implementation 'com.google.cloud:google-cloud-vision:2.0.17' (아마 implementation 'com.google.cloud:google-cloud-vision:2.0.17'것만 있어도 된다 ) 4.api호출 공식문서에서 복붙 했다 근데 링크를 잃어버렸다... 내일 찾아봐야겠다 ㅠ..

Jang_bo_go 2022.01.09