5차 합동 세미나
https://www.notion.so/6-6accfca4203b4f07b7c9d342e858bf2b
S0PTerest
SOPT 31th 합동세미나 6조. S0PTerest has 2 repositories available. Follow their code on GitHub.
github.com
!!핀터레스트!! 사이트에서 디자인분들이 개선할점 등을 바탕으로 새로 디자인한 웹을 직접 만들어봤다
솝트 들어오고 처음으로 진행한 합동 세미나였는데 클라이언트, 디자인, 서버 세 파트가 협업했다ㅏ
세미나 시간에는 디자인분들에게 프로젝트에 대한 설명을 듣고
클라이언트 분들하고 회의하면서 어떤 기능들을 넣어야하는지, 시간상 빼야하는 기능들에 대해 이야기했다
그리구!! api 명세서랑 ERD를 시작했다
그 다음에 서버파트원들끼리 온라인으로 회의하면서 ERD 완성하고 API 명세서 완성했다
나는 초기 레포 세팅이랑
"사용자의 모든 보드 가져오기", "특정 보드에 속한 모든 핀 정보 가져오기" api를 맡아서 개발했다~!~!
전까지는 django로만 개발해보다가 세션때 node js 배우고 처음으로 api 짜보는거라서 좀 헷갈렸지만
솝커톤 가기전에 합동 세미나를 통해서 node에 적응?할 수 있었던거 같다
api 중에 "사용자의 모든 보드 가져오기"는 처음 개발할때는 괜찮았는데
지금 Profile 뷰에서 '사용자의 모든 보드 정보 가져오기' api를 사용하려고 하는데, 보드 내부 핀 정보가 없어서 핀 image를 보여줄 수 없더라구요. 해당 api에 핀 imageUrl이 담긴 pins 배열 정보를 넣어서 수정해주실 수 있으신가요..?
그리고 이 부분이 보드와 관련없이 모든 핀을 볼 수 있는 부분인데, 이 부분과 관련된 정보가 없어서
/boards 에 핀 객체를 추가해서 핀 이미지 5개를 리스트로 보내주시면 좋을 것 같아요..!
-> 혹시 지금 보드1로 사용되고 있는걸 제목을 “보드1” -> “모든 핀” 으로 바꿔서 사용해도 괜찮을까요?? 따로 핀 객체 추가 안해도 될거같아서요!!
요렇게 /boards/:boardId/notes 에서는 pins 배열 안 객체에 바로 imageUrl이 들어가있는 구조더라구요! /boards도 이런식으로 변경해주실 수 있을까요?
혹시 바꿔주실 수 있으시면 /boards/:boardId/pins 여기도 똑같이 변경해주실 수 있나요?
->
const result = notes.map((note) => {
return { ...note, pins: note.pins.map((pin) => pin.pin) };
});
요런 문제들이 있엇고 해결했다..!!
"특정 보드에 속한 모든 핀 정보 가져오기" 는 m:n 관계가 처음이었고
보드 id를 받으면 userid 랑 보드 제목을 알려주고
거기서 보드 id를 중개모델인 BoardPin에 넣어서 PinId를 받고
그 PinId를 Pin모델에서 찾아서 pin 정보들을 알려주는... 첨 해보는 거라서 좀 헤맸다..
Relation queries (Concepts)
Prisma Client provides convenient queries for working with relations, such as a fluent API, nested writes (transactions), nested reads and relation filters.
www.prisma.io
이걸로 해결했다..!!
세션때 배운걸로 prisma랑 datagrip하고 배포 등등을 다 해볼수 있어서 너무 좋았고 진짜 많이 배웠다..!!
https://www.notion.so/6-S0PTerest-55c6fb0506f646dfbbe9fc83425b1ad2
-> 우리팀 아티클!!