plantingg 11

#11 : 도메인

1. CSS CSS는 팀원들과 함께 해서 잘 마무리 했다. 나 스스로 만족할 만큼 못 하기도 했고 반나절 동안 한 거라 양이 많지 않아 따로 블로그에서 다루진 않으려고 한다. (도메인이 너무 버거워서도 있음.) 2. Wiki 도메인 얘기를 하기 전에 위키를 깔끔쓰하게 정리를 했다. 어쩌다 보니 시간이 너무 늦어져서 아침에 일어날 자신이 없었고...그래서 위키 정리나 했다. 스택 아키텍쳐도 다시 만들고 SR 때 기획한 것들을 쭉 다시 보면서 수정할 것을 정리했다. 3. 도메인 우리 팀은 배포도 성공했기 때문에 도메인을 발급받아서 연결하고 싶은 욕심이 있었다. 그래서 기왕 다음 프로젝트 때 할 거 이번엔 대신 무료 도메인으로 해 보자! 라는 생각이 들었고 Freenom에서 무료 도메인을 발급 받았다. 몇 없..

Project/plantingg 2021.06.17

#10 : CSS

1. 완-성 👩🏻‍💻 서버 코드 작업은 오늘로 끝났다!! 코드 필요없는 부분만 주석 처리하고 정리했다. 우리 팀은 세명이고 2주도 안 되는 시간이라 CSS를 어느정도 틀만 잡고 자세한 건 팀 다 같이 하기로 했다. 나는 오늘 인트로 페이지 CSS를 맡았고 각자 조금씩 나눠서 하고 내일 합쳐보기로 했다. 생각보다 CSS가 어렵고 범위가 너무 다양해서 어려웠다ㅠㅠ 그리고 이렇게 본격적으로 한 게 또 오랜만이라 낯설었던 것 같다..

Project/plantingg 2021.06.16

#9 : 이미지 업로드 base64

1. 코드 수정 - res.status().send()로 send를 해 주는 부분 앞에는 return을 붙여주었다. - 게시물 삭제 코드에서 response 전달을 해 주지 않아..포스트맨에서 확인이 어려워 코드를 수정했다. 2. Error Handling - 이미지 이미지를 base64로 잘 변환은 하고 있는 것 같은데 너무 길어서 서버에 전달이 어려웠다. 그래서 검색해봤더니 express 미들웨어 설정 부분을 바꾸라고 해서 다음과 같이 바꾸었다. app.use( express.json({ limit: "50mb", }) ); app.use( express.urlencoded({ limit: "50mb", extended: false, }) ); 하지만, 여전히 오류는 발생했고 게시물 테이블에서 이미지..

Project/plantingg 2021.06.15

#8 : 게시물 목록 불러오기

1. 새 게시물 작성 & 게시물 목록 게시물을 작성하고 나면 DB에 저장이 되고 게시물 목록에서 그걸 읽어오는 게 필요한데 CRUD에서 R 코드를 안 써놓은 걸 꺠달았다...😂 controllers/post.js에 read를 추가했다. currentUserId, userId, id 이런 것들이 머리에 떠다니기만 하고 잘 정돈이 안 됐었는데 오늘 제대로 고민해보고 코드를 짜면서 이해했다! 2. 마이페이지 회원정보 수정 회원정보 수정도 currentUserId를 이용해 코드를 수정했다. 3. 배포 게시물 완성한 부분까지 배포를 진행했다. 사진이 미리보기로는 웹에서 보이는데 DB에 안 올라가는 등 오류가 있어서 내일 수정할 예정이다.

Project/plantingg 2021.06.15

#7 : controllers & routes 수정

1. controllers 수정 controllers에 폴더를 만들어 나눴었는데 가독성이 좋지 않은 것 같아 user, auth, post 등 이렇게 컨트롤러를 다시 작성했다. 예를 들어, controllers 안에 auth.js가 있는데 그 안에 signIn, signUp 등 모두 합치고 routes 파일에서 각각 연결해주었다. 2. Error Handling 깃헙에 푸시하고 PR하는 과정에서 머지 충돌이 많이 나서 계속 풀과 푸시를 반복했다....어느 한 부분에서 꼬였더니 계속 충돌이 나서 고생했다ㅠㅠ 서버 작업을 나 혼자 하다보니 그냥 dev에서 작업을 했는데 기능별로 브랜치를 나누어 작업하고 dev에는 백업용으로 주기적으로 올리는 것이 좋을 것 같다.

Project/plantingg 2021.06.13

#6 : 로그인 배포

1. index.js 지금까지 쓴 서버 코드와 클라이언트 코드를 맞춰보며 localhost:3000에서 에러를 해결했다. 그리고 배포를 조금씩 해둬야 마지막에 터질 일이 없을 것 같아 로그인 기능까지만 해서 배포를 해보기로 했다. index.js 파일에 port를 이렇게 로컬과 배포 환경 모두 사용할 수 있도록 코드를 바꿨다. const port = process.env.PORT ?? 4000; 2. Error Handling 오늘 이런 저런 오류가 많이 떴는데 migration할 때 파스칼 케이스로 작성했는데 controllers에서 import할 때는 카멜 케이스로 작성해서 오류가 났다...ㅜ 그래도 덕분에 Camel case, Kebab case, Snake case, Pascal case에 대해 ..

Project/plantingg 2021.06.13

#5 : 로그인 & 회원가입

1. Prettier 나는 이제서야 Prettier를 알고 vscode extension으로 Prettier를 설정했다. → 백엔드가 나 혼자다 보니 팀원들과 맞출 생각까지는 못했는데 처음부터 npm으로 설치해두었다면 좋았을 것 같다. 다음 프로젝트 때는 이런 부분도 처음부터 정해야겠다. 2. 로그인 & 회원가입 세션으로 적어두었던 코드를 엎고 JWT로 적던 걸 이어서 마저 적었다. 그리고 middleware로 토큰 검증하는 checkToken 코드를 짰다. router를 이용하는 것이 간단할 것 같아 signIn, signUp 모두 라우터로 연결해주었다. 그리고 index.js 쪽도 router에 맞추어 코드를 수정했다.

Project/plantingg 2021.06.11

#4 : JWT

어제는 대략적으로 지금까지 배워왔던 방법들을 이용해서 로그인, 회원가입, 게시물 관리 등의 기능을 구현하려고 했다. 그래서 세션을 사용해서 진행했는데 JWT를 쓰면 토큰 자체에 사용자 정보가 저장돼서 클라이언트에게 저장 및 검증 과정만 있어 간편할 것 같다는 생각에 JWT를 이용하기로 바꿨다. 어제 대략 써 두었던 controller를 조금 수정했다. 그리고 마이페이지 부분의 회원정보 controller도 대략(?) 작성했다.

Project/plantingg 2021.06.11

#3 : sequelize 및 controller 작성

1. 기본 설정 기능 구현을 시작하기 전에 첫 번째로 .gitignore부터 작성했다. .env, node_modules 등을 넣어주었고 .env 파일을 작성하면서 데이터베이스를 만들고 config.js파일도 작성했다. 다음으로 package.json도 작성했는데 package.json부터 만든 게 처음이라 낯설었다. npm init npm init을 하면 여러 옵션을 추가하도록 뜬다. package name, version, description, entry point, test command, git repository, keywords, author, license가 순서대로 뜨는데 이러한 옵션을 기본값으로 하고 시작하고 싶을 땐 -f(--force)나 -y(--yes)를 추가하면 된다. 이렇게 초..

Project/plantingg 2021.06.09

#2 : SR (2)

어제에 이어서 오늘은 기능을 정리하고 이에 맞춰 맞춰 SR을 마무리했다. 1. Stack 우리가 프로젝트를 진행하면서 사용할 스택을 정하고 이를 Stack Architecture로 만들었다. 파이널 프로젝트 때는 시간이 길어서 새로운 스택도 사용해 볼 수 있지 않을까..? 라고 기대 중이다. 물론 어떤 프로젝트인지에 따라 결정할 일이겠지만!! 2. Back-End 어제 마무리하지 못한 API 문서를 마저 작성했다. gitbook을 이용해 작성했는데 뭔가 프로젝트를 하면서 조금씩 바뀔 것 같은 기분....(기분 탓이 아니었다고 한다.) user API와 post API로 나누어 작성했다. → 프로젝트를 마무리하고 다시 얘기하자면 user API, auth API, post API로 나누어 썼다ㅋㅋ user..

Project/plantingg 2021.06.08