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

Project 2 - Sprint week 2 standup meeting, planning meeting

추석 연휴로 1주 쉬고 와서, 각자 어디까지 했는지 돌면서 이야기 하기로. 공유할 이야기 나누고 진행 상황 체크 위해. planning meeting -> 이번주에 어느정도 개발했는지 회고 지난 sprint에 대한 회고, 얼만큼 하기로 했는데 얼만큼 못했고, 왜 못했는지 다음 sprint를 위해서 어떤 걸 개선해야 하고, 기능정의서 - 담당 레이어는 mock data 정리 완료 프론트엔드 분들은 데이터 형태 참고 위해. 회원가입 ✅ **요청** method: "POST", body: JSON.stringify({ email: "", password: "" nickname: "", birthDate: "YYYY-MM-DD", phoneNumber: "", gender: "F/M/N", profileImag..

Project 2 : sprint 1주 중간 회고(HTTP, RESTful API, AWS) **추후 링크 추가**

Project 2- Backend 의 목표를 다시 보며, 내가 이 부분을 잘 학습했는지 돌아보고, 부족한 부분은 채워넣기 1차 체크리스트 HTTP 기본 개념 (요청/응답, stateless)를 이해하고 있고 메세지 구조를 이해하고 있다. GET, POST 메소드 차이점을 알고, 프론트에서 넘어오는 데이터를 어떻게 처리해야 하는지 알고 있다. RESTful API 개념을 이해하고 URL 주소를 RESTful 식으로 구현할 수 있다. Foundation 2- Http, 인터넷부터 api 호출까지 (수정)** 태생부터가 자바스크립트는 웹사이트를 위해 만들어진 것 --> 동적으로 만들기 위해 생겨난거니까 자바스크립트가 원래 엄청 느렸고 (C,C#에 비해) 이상한 언어인데 보편화돼서 쓰는거라 속도 빨 pm-dev..

Project 2 - 5일 차 (9) : 내가 push 한 '로그인 함수' : pull request 팀원 리뷰 + 수정

올리고 몇 분 사이 바로 올라오는, 팀원분의 빠른 피드백 좋다 추석 연휴 전 일단, commit, push 하는 게 좋겠다 싶어서 올려놓고 보느라 수정 사항이 좀 있지만. 과정에서 배우는 게 중요하니까. 나의 코드와 보면서 비교해보기 이 부분이 models/ dataSource.js에 들어가 있군 (추후 layeredpattern 시에) port 변수 안 해도 도 ㅣ나? 수정 중에 깨달은 사실, pull request 에 이렇게 어떤 파일의 몇번째 줄이라고 나오니, 수정할 때 해당부분을 하나하나 찾지 않아도 돼서 편리하군! 수정 후 코드 const express = require('express'); const morgan = require('morgan'); const cors = require('co..

Project 2- 5일차 (8): 로그인 pull request template.md

1. 본 PR이 우리 팀의 웹 서비스 제품성에 어떠한 기여를 하였고, 사용자에게 어떠한 기대효과를 전달하는지 작성해주세요. 1-1. 내 PR이 제품 내 어떠한 기능적인 배경/전후맥락 가운데 개발되었나요? 회원가입 후 로그인을 위한 기능 1-2. 내 PR이 Merge 됨으로써 유저에게 전달되는 편익/기대효과는 무엇일까요? 로그인을 통해 상품목록 확인, 장바구니 기능 이용, 주문 및 결제까지 이어지는 기대효과 2. 이 브랜치에서 어떤 내용을 개발했는지 큰 제목과 상세 내역을 적어주세요. 회원가입을 한 유저 database에서, 기입한 이메일 주소와 비교 후, 회원가입한 유저인지 판별. 판별 후, 회원가입을 한 유저만 로그인을 하고, 리뷰를 작성할 수 있도록 커뮤니티 관리를 하는 안전장치 고객의 주문 및 결제..

Project 2- 5일차 (7): [로그인 API, 깃허브 PR]

'feature/login' branch의 app.js 전체코드 const express = require('express'); const morgan = require('morgan'); const cors = require('cors'); require('dotenv').config(); const app = express(); app.set('port', process.env.PORT || 8000); app.use(cors()); app.use(morgan('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.use((req, _, next) => { const error = new Error(`..

Project 2 - 5일 차 (6) : 내가 push 한 회원가입 함수 : pull request 팀원 리뷰 + 수정본 ** 해야 함

username === undefined 는 !username 으로 축약 수정본 필수사항 및 선택사항 정보 받아온 거 저장하기 수정본 그런데, 선택사항은 어디서 받아오지? key error는 필수사항에 대한 건데? --> insert into query문에서 선택 + 필수 정보 모두 포함 만약, 유저가 선택 정보 기입을 안 했다면 'Undefined/ -'로 뜨겠지만, 일단 쓸 경우를 대비해서 가져오긴 해야지 [const error = new Error("KEY_ERROR"); error.statusCode = 400; throw error; 해당 부분은 utils 폴더의 throwError(400, 'KEY_ERROR') 함수를 사용해서 축약될 수 있을 것 같습니당] 계속 반복되는 부분이라, 아마 이것..

Project 2 - 5일 차: 깃허브 [local 최신화, git pull origin 하며] 깃허브에 대해 복습, 새롭게 알게 된 사실

github 에서 remote 저장소에서 변경사항을 받으려고 local을 최신화하려고 하면, git pull origin [pull 받으려는 branch 이름] 그런데, 그 pull받으려는 branch로 checkout 가서 받아야 함. branch 간 이동을 위해서는 무조건 변경 사항 저장 , git add. , git commit -m 후에 가능 git add. git commit git pull (Dev. ) (fetch and merge = pull ; 그래서 merge가 자동으로 될 것.) git merge (dev는 dev 대로 최신화) -=> feature에 dev를 Merge시킴 branch를 dev에 merge하는게 아니니까. branch에 dev를 merge 하는 거니까. 그런데, 잘못..

Project 2- 5일차 (3): 회원가입 pull request template.md

1. 본 PR이 우리 팀의 웹 서비스 제품성에 어떠한 기여를 하였고, 사용자에게 어떠한 기대효과를 전달하는지 작성해주세요. 내 PR이 제품 내 어떠한 기능적인 배경/전후맥락 가운데 개발되었나요? 고객의 회원 전환 및 유입을 최우선으로 하여, 우선 회원가입 유저를 늘리고, 회원가입 중 이탈을 줄이기 위해, 주소와 같은 세부 정보들은 결제창에서 받고, 회원가입 시 받는 유저 정보는 간소화 하였습니다. 또한, 비밀번호와 아이디 특수문자와 길이 조건을 보안을 지킬 수 있는 선에서 최소한의 제한을 두었습니다. 내 PR이 Merge 됨으로써 유저에게 전달되는 편익/기대효과는 무엇일까요? 유저는 최소한의 시간을 투자하여, 회원가입을 하고 관심 있는 상품 리스트들을 보며, 동시에 장바구니에 담아둘 수 있습니다. 회원가..

Project 2 - 5일 차 (5): 내가 push 한 회원가입 함수 : standing meeting에서 수정할 부분

[standing meeting 에서 모두가 수정해야 할 부분] Project 2 - 5일 차 (3): standing meeting- [프론트 엔드와 협의] 및 [회원가입 코드 분석] [회원가입] 필수 / 선택 입력값 데이터 - 필수 1)생년월일 프론트: YYYY-MM-DD 형식 백엔드: 생년월일 받아오고, db에 저장하는 코드만 치면 됨. 2) 휴대번호 프론트: 010-****-**** 형식 백엔드: 받아오고, pm-developer-justdoit.tistory.com standing meeting 이후 내가 한 부분에 대해서만. 추천인은 넣지 않기로, 그러면 백엔드가 칼럼 정보를 또 넣어야 해서, standing meeting 후 변동 사항 1. 아이디 제거 1-1. 아이디 중복 api 생성으로 ..

Project 2 - 5일 차 (4): standing meeting- [프론트 엔드와 협의] 및 [회원가입 코드 분석]

[회원가입] 필수 / 선택 입력값 데이터 - 필수 1)생년월일 프론트: YYYY-MM-DD 형식 백엔드: 생년월일 받아오고, db에 저장하는 코드만 치면 됨. 2) 휴대번호 프론트: 010-****-**** 형식 백엔드: 받아오고, db에 저장하는 코드만 치면 됨. 3) 성별 gender가 화면에는 선택지이지만, varchar인 이유는, 오른쪽 화면이 프론트가 나에게 주는 화면인데, 아래와 같이 문자열로 나오기 때문에, 4) 이름 = nickname으로 5) 아이디 빼고, 이메일로 대체하기로 // 이메일 중복 확인, 있으면 에러 const existingUser = await myDataSource.query( `SELECT daterbaseId, email FROM users WHERE email='$..