목록Project in Codestates (31)
개발하고 싶은 초심자
(Kakao Developer에서 애플리케이션을 생성하고 키 발급과 client secret을 발급받았다는 가정 하에 진행된다.) ① kakao developer의 redirect uri의 활성화를 on 해주고 https://getpostman.com/oauth2/callback를 redirect uri에 적어준다. ② 포스트맨에 들어가 Authorization의 Type을 OAuth 2.0으로 지정해준 뒤, Configuration Options를 채워준다. Token name은 임의로 지정해준다. Callback URL, Auth URL, Access Token URL은 사진에 나와있는 그대로 적어준다. Client ID는 kakao developer에서 확인할 수 있는 REST API KEY를 적어..
마이페이지에서 사용자 정보를 가져오게 하기 위한 라우트와 컨트롤러를 작성했다. get 요청을 보내어 받는 것으로 코드를 작성했고, id를 찾지 못하면 사용자 정보를 조회하지 못한 것으로 작성했다. 사용자가 작성한 게시글의 목록을 보게 하는 용도로 uploads라는 변수를 선언하여 userId를 사용하여 찾게 하였고, 생성된 날짜 기준으로 오름차순 정렬을 할 수 있게 하였다. 포스트맨으로 요청을 보낸 결과 회원 정보와 함께 정보 조회에 성공했다는 메시지를 띄울 수 있었다.
1. 댓글 달기 기능 구현을 위한 모델 생성 각각의 게시글마다 달리는 다른 유저들의 댓글들이 있을 것이고, 그 데이터를 저장해주기 위해 모델을 먼저 생성했다. 일단 모델에 들어갈 속성은 users모델에서 참조해오는 외래 키인 userId와 posts모델에서 참조해오는 외래 키인 postId, postComments 모델의 속성인 comment가 포함된다. userId와 postId는 숫자, comment는 문자열 형태로 들어간다. 2. 라우트 구성 댓글은 게시글에 다는 것이기 때문에 /posts에 해당한다. 댓글이기 때문에 /posts/comment로 라우트를 지정해주고 아직 작성하지는 않았지만 미리 컨트롤러를 연결해준다. 3. 컨트롤러 작성 댓글을 달 때 가장 먼저 확인해봐야 하는 조건은 토큰을 가진 ..
userId별로 게시글을 생성하고 그 글을 수정할 수 있으며 상황에 따라 삭제를 할 수 있는 기능을 구현했다. 제일 먼저 구현한 기능은 multer모듈을 이용한 단일 업로드 기능 구현이었다. 게시글을 생성하는 기능부터 먼저 할까 했지만, multer라는 모듈을 먼저 사용하는 방법을 알고 싶었다. 1. multer모듈 설치 npm install multer --save-dev 제일 먼저 모듈을 설치해주었다. 2. upload용 라우터 만들기 const multer = require('multer'); const uploads = multer({ dest: 'uploads/', storage: multer.diskStorage({ destination: (req, file, cb) => { cb(null, ..
일단 지금 프로젝트의 큰 문제는 '과연 이 서비스를 직접 사용할 이유가 무엇인가?'이다. 당장 bare minimum으로 생각한 기능들은 반려동물 적합도 테스트와 기본적인 회원가입과 로그인 기능, 카카오맵 api를 이용한 유기견 보호소 위치 찾아주기다. 처음 이 서비스를 만들 때의 메인은 사람들이 반려동물을 가족으로 맞는 준비에 대해 조금 더 중요하게 생각하고, 그런 첫걸음에 대한 흥미를 위한 테스트였다. 하지만 그것만으로는 이 서비스를 이용하는 이유가 충분하지 않다. 피드백 이후 제일 먼저 고려해볼 대상은 게시판 만들기, 그리고 일반 유저와 어드민을 분리하는 것이다. 가정분양을 하는 목적으로 게시판을 만들기보다는 임시보호나 유기견 보호소에서 정보를 올릴 만한 용도의 게시판으로 만들어보는 것이다. 사실 ..
1. 카카오 로그인 기능 구현 대부분 kakao developer를 보고 코드를 작성했다. 주로 본 것은 API 목록 카카오 로그인 활성화 설정 및 Redirect URI 카카오 로그인 보안을 위한 CLIENT_SECRET 발급 카카오 로그인 동의 항목 부분이었다. 특히 API 목록을 보면서 axios 통신 과정을 생각하며 작성했다. 2. 소스트리 다운로드 및 체험 2주 프로젝트를 할 때는 무조건 CLI로만 깃을 이용했었는데, 막상 깃 플로우가 꼬이면 어디서부터 해결을 해야 하는지 막막해 결국 git init을 해야 하는 경우가 잦았다. 그래서 이번 프로젝트에서는 gui 툴인 소스트리를 다운로드하여 한 번 사용해보기로 했다. 소스트리를 사용해본 결과, 문제가 생겼을 때 시각화된 자료가 필요하다면 모를까 ..
1. 로직 작성하기 ① 회원가입, 로그인, 로그아웃 구현 /users/signup /users/login /users/logout ② 닉네임 및 비밀번호 수정, 회원 탈퇴하기 /mypage/username /mypage/password /mypage/withdrawal 2. 포스트맨으로 요청 및 응답받아오기 ① 회원가입 ② 로그인 ③ username(닉네임) 수정 ④ 비밀번호 수정 ⑤ 로그아웃 ⑥ 회원 탈퇴 ⇒ 모든 과정에서 데이터베이스를 확인해보았을 때, 회원가입 시 지정해주었던 비밀번호가 해시된 값으로 저장된 것을 확인할 수 있었다. 마찬가지로 비밀번호 수정 시에도 수정한 비밀번호가 해시된 값으로 저장되어 있었다. 회원 탈퇴 시 204 status code를 띄우며 데이터베이스에서 삭제된 것을 확인할..
1. 사용자 흐름 2. 반려동물 적합도 테스트 선택지 만들기 ① 현재 나의 상황은 어떤가요? - 혼자 산다(2) - 가족이나 동거인이 있다(1) ② 거주 환경은 어떤가요? - 아파트(2) - 빌라 혹은 오피스텔(3) - 마당이 딸린 전원주택(1) ③ 반려동물과 함께 정기적인 산책과 놀이, 훈련 등을 할 수 있나요? - 최소 하루에 30분에서 1시간 이상의 시간을 소요할 수 있다.(1) - 그 정도까지의 시간적 여유는 되지 않는다(2) ④ 반려동물에게 들어가는 병원비의 정도는 월평균 15만원 정도입니다. - 평균 비용 혹은 그 이상이 들어도 괜찮다.(1) - 평균 비용 정도가 적당하다고 생각한다.(2) ⑤ 본인 혹은 가족 구성원 중 반려동물로 인한 알레르기 반응이 있나요? - 있다(2) - 없다(1) 선택..