Wecode - Project 2 (부트캠프)/Project 2 과정 39

2차 프로젝트 통신, 화면 구현, 영상

영상 2차 프로젝트 : 회원가입 통신 2차 프로젝트 _ 로그인 통신 2차 프로젝트 : 메인페이지 2차 프로젝트 :ABC Martens 상세페이지 2차 프로젝트: ABC Martens 장바구니페이지 캡쳐 사진 주문/결제 페이지 구현 화면 소셜 로그인 구현 화면

git clone vs pull 차이

clone과 pull은 Git에서 주로 사용되는 두 가지 명령어이며, 각각 다른 목적과 동작을 가지고 있습니다: Clone: git clone 명령어는 원격 저장소를 복제하여 로컬 컴퓨터로 가져오는 명령어입니다. 이 명령어를 사용하면 원격 저장소의 모든 파일과 커밋 히스토리가 로컬 디렉토리에 복사됩니다. 주로 Git 프로젝트를 처음 시작할 때 사용합니다. 새로운 프로젝트를 시작하거나 기존 프로젝트를 다른 컴퓨터로 가져올 때 주로 사용합니다. 예: git clone https://github.com/사용자명/저장소.git Pull: git pull 명령어는 원격 저장소에서 최신 변경 사항을 가져와서 현재 작업 중인 브랜치에 병합하는 명령어입니다. pull은 fetch와 merge의 단축 명령어로 생각할 수..

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 = '..

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

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

Project2- 2주차 3일차 : standing meeting

백엔드 - 결제: 포인트 대신, 토스 페이먼츠 연결하고, db 저장하는 것만 있으면 됨 (프론트에게 영향 없음, 주기만 하면 되니) 전체 목록 페이지에서 : 기능 하나 구현할 때마다 백엔드, 프론트 통신 하는 중 프론트 - 장바구니 : cart id를 주문 페이지 ui 우선적으로 하는 중 (오른쪽을 받아와서 남은 오늘부터 통신을 하나씩 하기로 함. 장바구니가 결국 상품을 타고 와야 하는 거기 때문에 최초진입이 상세가 아니기에, 목록 api는 결국 어디서든 부르고 있다고. 그래서

project 2 - 회원가입, 로그인 통신 성공 /conflict 해결

1차 시도 맥북 내 서버 ip 주소 : ipconfig getifaddr en0 npm install 로 패키지 모두 다 다운 가능하니, ctrl+c 후 node app.js로 서버 연결 [Express 초기 환경세팅] 2. database 서버 연결- dbConnection 설정 -Westagram Backend Project - TypeORM 설치 및 적용 dbConnection 정상 작동 확인 아래 링크에서 진행했던 TypeORM 설치에서 이어져서, [Express 초기 환경세팅/ TypeORM 설치] **(주황색) -Westagram Backend Project - 1. Express pm-developer-justdoit.tistory.com 프론트측에서 회원가입을 하면, 바로 나에게 이렇게 통..

Project 2 : 주문 페이지 + 깃허브 캡쳐 (수요일)

내 담당이 아니지만, 다른 기능, 페이지도 내가 모두 구현하고 구상해보기 위해 가장 간단한 회원가입/ 로그인 기능을 담당하였다. 내 담당은 가장 빠르게 완료 후 다른 기능 다 건드려보기 목표: 사용자가 상품 주문할 수 있는 페이지 구현 주문페이지에 data 넘기기 order 주문 페이지 이동 (2가지 루트) 1. '장바구니 cart' 페이지 --> 주문할 상품 '선택' --> 구매 버튼 2. 상품 '상세페이지 productDetail' --> '바로 구매' 버튼 1. 회원이 선택한 상품 data 를 어떻게 주문 페이지로 이동시킬 것인가 (주문 페이지 data 넘기기) - 상품 주문하는 유저 정보 - 주문하는 상품 정보 이미 만들어진 모든 정보를 장바구니/상세페이지에서 일일이 넘길 필요는 없고, 필요한 데..

Project 2: "소셜 로그인" + 깃허브 캡쳐 ** (수요일)

구글 지메일 회원가입 1. client가 google server로 회원가입 요청 2. google server가 idToken 전송 3. client 가 service server로 idToken 전송 4. service server가 idToken이 유효한지 goolge server에 검증/ user data 요청 5. 유효한 idToken이면 user Data 전송 6. service server가 받은 user data 저장 , 가공 -> client 에 응답 https://developers.google.com/identity/sign-in/web/backend-auth?hl=ko 백엔드 서버로 인증 | Authentication | Google for Developers 이 페이지는 Cloud..

Project 2 - 비밀번호 찾기 ** + 깃허브 캡쳐 (수요일)

비밀번호 찾기 - 이메일로 인증코드 보내기/새 비밀번호 생성service 추가 const nodemailer = require('nodemailer'); const jwt = require('jsonwebtoken'); const { userDao } = require('../models'); const { getUserIdByEmailDao, createUserDao, setNewPasswordDao } = userDao; const getUserIdByEmailService = (email) => { return getUserIdByEmailDao(email); }; const createUserService = (data, isUseOauth) => { let email, birth_date, ge..

project 2. sprint 2주차 로그인 기능 pr review

const start = async () => { try { server.listen(8000, () => console.log(`Server is listening on 8000`)); } catch (err) { console.error(err); } }; app.listen(app.get('port'), () => { console.log(`listening.... 🦻http://localhost:${app.get('port')}`); }); -->동작이 똑같습니다. 두개가 공존하면 하나는 불필요한 동작이 되므로 하나는 없어야합니다~ port에 대한 넘버링은 환경이 바뀔것을 대비해 가급적 변수인 편이 좋습니다. 위에꺼를 다 삭제함 app.js 최하단에 있어야 하는 함수 app.use((req, _,..