Wecode - Project 2 (부트캠프) 79

Project 2 - 마지막날 전체 팀 회고

프로젝트 - 아쉬운 점 1) 기획 의도 미달 닥터마틴 자체의 문제점 개선으로 설정한 ‘세련됨’과 같은 새로운 가치 부여 2) 프론트 입장에서, 닥터마틴 자체의 변수명 설정 복잡도로 인해 파악이 쉽지 않았음 결과물에 대한 회고 1) 우선순위 설정 미스 상세페이지 시간 분배 (Agile) 3) Back-end: Github 활용 -> PR 업로드, 리뷰 (Agile) 4) 팀 협업 툴 미흡 : Trello, Github 5) 의사소통의 부재, 회복

Project 2 마지막날 실제 구현 기능

기획과 다르게 어땠는지 다들 1차 프로젝트, fondation 때부터 계속 해왔기에, 간단하다고 생각하는데 basic is the best입니다. 저희 닥터 마틴 페이지가 기능이 많이 구현되어있더라고요, 본인인증, 통한 기입 제외 -회원가입 본인인증 통한 phone number/ birthdate 자동기입 생략 2) 아이디 생략 -> 이메일로 대체 (편의성) 3) 보다 간단한 비밀번호 설정 조건 (편의성) 4) 이메일 기입 한 칸으로 통합 (편의성) 5) 필수값인 ‘성별’ -> ‘선택안함’ 값 추가 (다양성) 6) 추천인 ID 생략 7) 마케팅 수신 동의 디폴트로 필수 아닌, ’선택값’으로 설정 -로그인 비밀번호 찾기 (‘아이디 찾기’ 생략) 비회원 주문조회 생략 -소셜 로그인 구현 - 정렬 / 페이지네..

Project2: Demo-Day 준비 절차

01. Demo-Day 프로젝트 발표 준비 Goals >wecode 데모데이는 개발자의 관점에서 생각해 본 “제품의 가치”와 “고객의 만족”을 “기술적”으로 어떻게 풀어내었는지 설명하는 자리입니다. 제품 개발을 담당한 “개발자의 관점”을 녹여내어 자사 제품의 기능 구현에 대한 이모저모를 설명합니다. 이때 주의할 점은, 투자, 유치, 채용 등으로 이어지는 실제 스타트업들의 데모데이 형식의 발표를 탈피합니다. Product Manager는 프로젝트가 시작되는 그 순간부터 데모데이 에서의 최종 발표 까지 자사 제품의 기술적가치 및 의의, 목적, 차별성 등을 팀원 들과 함께 고민합니다. 그리고 팀 내부에서 도출한 고민 내용들을 어떻게 웹 서비스내에 기술적으로 녹여낼지 고민합니다. Project Manager는 ..

Project2: 상세페이지 품절 표시

백엔드에서 보내주는 응답값에서 사이즈와 수량이 함께 들어가 있는 배열을 새로운 배열로 꺼내온 뒤에 map을 통해서 값을 가져옴 프론트: // 새로운 배열로 만들어 수량과 사이즈만 빼옴 const newArray = productInfo.options.map(option => { return { quantity: option.quantity, size: option.size }; }); // 아래처럼 새로운 배열을 map으로 돌려서 순서대로 매칭시킨 사이즈별 수량을 확인할 수 있습니다. // 해당 수량의 값이 0 이면 품절로 출력되도록 아래와 같이 작성되어 있습니다! {newArray.map(size => { let color; if (size.size === selectedSize) { color = '..

layered pattern 코드 분리 연습을 위한 clone, 새로운 github 저장소 연결

CRUD, layered pattern 연습 layered pattern 코드 분리 연습을 위한 clone, 새로운 github 저장소 연결 경우 1)이미 만들어진 단일화된 app.js 코드에서 분리 project 2를 진행하는 중에 project 1을 복사 해서 코드 분리 해보는 경우 1. proje pm-developer-justdoit.tistory.com 경우 1)이미 만들어진 단일화된 app.js 코드에서 분리 project 2를 진행하는 중에 project 1을 복사 해서 코드 분리 해보는 경우 1. project1 폴더 복사 2. .git 연결 삭제 Rm -rf .git 한 로컬에 project1, project2 여러 개의 remote가 연결될 수 있고, 동시에도 remote 연결이 될 수..

깃허브 merge conflict 충돌 해결법

충돌이 나는 이유가 뭔지부터. remote에 내가 만든 BRANCH를 dev에 merge 하려고 하니, 같지 않아서 충돌이 나는 것. 그럼 일단, remote 깃허브랑 local dev 중에 뭐가 더 최신? Remote (그 동안 팀원들이 merge 했을 수도 있으니까) 깃은 "너 충돌 났어" 라고 말하는 거 뿐 해결을 못함. 그래서 로컬에 받아줘서, 그거를 충돌을 내서, 고쳐준 코드를 다시 올리는 것 깃허브가 알아서 자동 병합을 못하니, 뭐가 최신이고 뭐를 지워야할지 몰라서 뭐가 들어갈지 볼라거 충돌이 나는거니까, 그 remote에 있는 dev를 local에서 dev를 pull 받고, remote에서 하려고 했던 login branch를 remote에 merge 하려던 작업을, github에서는 못하니..

Project 2- 주문 결제 장바구니 소셜로그인 구현 **

결제 결제가 두가지 루트가 아닌가? 아니다. 결제 api 하나 - 장바구니 페이지에서 '구매하기' 버튼을 눌러서 결제를 하든 - 상세페이지에서 '바로 구매' 버튼을 눌러서 결제를 하든 프론트 호출 하는 api 하나만 있으면 됨. app.post (/payment, api가 바뀌는 것? cart로 결제하는 거 하나 엔드 포인트가 달라지는 결제에서 error handling은? if 재고가 다 떨어졋다 if 주문금액이 결제 포인트보다 적다 프론트가 페이지가 달라지는거지 ㅡㅡㅡㅡㅡㅡㅡ 장바구니 api (장비구니 담고, 넘어가는거, 결제로 넘어가는거, 장바구니 수량 변경, 주문은 나중에 ) ㅡ 장바듀니 추가 (장바구니 담을때 뭐가 필요해 produxt id, option, userid createdat >>db..

Project 1 : 회원가입 기능 layered pattern (소헌 멘토님) 총정리

layered pattern 하는 방식이 멘토님마다, 동기마다 달라서, project 1 복사 붙여놓기 복사본은 깃 반영 안 됨 ls- al 해서 .git 떠도 반영 안 된다. ls-al 해서 나오는 건 git 삭제 remote 연결 안 될 것 단방향에 따라서, 각 파일의 앞단에서 export로 내보낸거를 require를 가져온다. index.js 는 향후 확장성을 고려하여 생성될 수 있는 다양한 Router(예시: userRouter, productRouter 등)들을 한 곳에 모아 관리하는 역할 1. app.js 외에 나머지를 모두 넣을 scr 폴더부터 만든다 = source 폴더 1-1. 그 안에 파일로 만든다--> src 폴더 안에 router/ controller/ services /models..

layered pattern에서 가져올 때; module, export/import

회원가입 dao 에 insert into user 코드로 함수 export 하는데, 그 함수 하나하나 secvice에 require 안하는 이유는, model 폴더로 index.js로 패키지를 했기에? requrie는 단방향만 가져오는 (router->controller->services->Dao) export는 export하면, 어디서나 불러올 수 있는데, 단방향 상관없이 여기저기 파일 다 쓰이는거고, require는 하나하나 signup , Index.js는 user끼리 연결하게 타게 해줌 -> userrouter- usercontroller-userservices- userDao userRouter에서 다음에는, 다른데 거칠 거 없이 바로 userController로 갈 것. index.js를 가봤..

Project2 - AWS (대표님 세션) **

용어 Local host 외부에 노출되지 않은, 로컬에서만 사용가능한 서버 Client 프론트엔드; 서비스가 유저에게 제공하기 위해 사용되는 디바이스/매체 Deployment 배포 (개발한 서비스를 실제 유저들이 사용할 수 있도록 서버에 배포) Infrastructure 구조 (물리적/논리적 구성) Cloud : 클라우드란? 데이터를 보관, 정리, 분석하고 새로운 서비스를 빠르게 추진할 수 있도록 각종 인프라와 IT 기술을 빌려주는 서비스/ 언제, 어디서나 인터넷을 통해서 접속이 가능한 환경 배포할때 가장 쉽게 하는게, 로컬호스트에서 하는 것 - 나의 노트북에 통신하는 것 (node, express. Js 돌리는것) 그럴 때의 문제 외부 네트워크에서 접속이 어려움: 팀원들이 접속하기 어려움 : 언제어디서..