1. 프로젝트 개요
"How do I look?"은 사용자들이 자신의 스타일을 공유하고 다른 사용자들로부터 피드백을 받으며, 다양한 패션 스타일을 탐색하고 영감을 얻을 수 있는 소셜 패션 플랫폼입니다.
2. 담당한 작업
Comment
API 개발
- 사용자가 많은 웹사이트라는 가정할 때, 인기 태그 목록을 효과적으로 관리하기 위해 태그 모델과 서버로직 개발
3. 기술적 성과
node-cron
: 특정 시간에 코드를 자동으로 실행시켜주는 라이브러리입니다.
- 인기 태그 목록을 관리하기 위해 일정 시간마다 서버가 인기 태그 사용량을 계산해서 db에 저장하는 기능을 하였습니다.
bcrypt
: 비밀번호를 안전하게 저장하는 데 사용되는 암호화 라이브러리입니다.
- 비밀번호를 암호화해서 안전하게 db에 저장합니다.
4. 문제점 및 해결 과정
Comment API
를 만든후 프론트와 연결중에 Comment
안보이는 상황이 있었습니다.
- 문제는 저희가 만든 스키마 모델
Comments
와 프론트에서 읽는 스키마 Comment
의 차이였습니다.
- 해결하기 위해 프론트에서 읽는 스키마를
Comments
로 수정 했습니다.
- 처음에 저희가 만든 메인 페이지에는 생성한 모든 태그가 보이는 문제가 있었습니다. 배포를 해서 사용자가 많아지는 상황일 때 문제가 될 것이라고 판단해 인기 태그 모델을 관리하자고 생각했습니다.
Tag
모델과 TagUsageLog
모델을 만들어서 태그의 정규화된 점수를(총 사용량 50% + 7일간 사용량 50%) 줘서 인기순위를 측정했습니다.
5. 협업 및 피드백
-
협업 과정에서 느낀 점
- 여러명이 한프로젝트를 생각하니 좋은 아이디어가 많이 나와서 좋았습니다.
- 처음 딱 프론트와 연결하고 결과물이 보였을 때 뿌듯해고 팀원들이랑 같이 했다 보니 전우애 같은 것이 생겼는데 기분이 좋았습니다.
- 1~2주일 정도 협업하다 보니 개개인의 팀원들의 장점이 보였습니다. 만약에 더 오래같이 할 수 있는 환경이라면 역할분담을 장점 있는 쪽으로 나누면 좋을 것 같다 생각했습니다.
-
협업 과정에서 배운 점
- 깃허브에서 브랜치 관리하는 방법(PR, 브랜치 전략)
- 노션으로 팀 회의하는 방법
- 개발에 필요한 프로그램(Postman, Cloudinary, Upstash 등등) 사용방법
-
피드백
- 협업을 할때 의사소통이 중요하고, 역할분담을 효율적으로 나눠서 진행을 하면 개발속도가 엄청 효율적이라고 느꼈습니다.
- 팀원들 전체가 프로젝트에 임하는 자세가 진지해서 너무 좋았고, 아쉬운 것은 시간이 좀 더 있었으면 더 좋은 결과물을 만들 수 있었을것 같은데 아쉽습니다. 한 일주일만 더 있었으면 좋지 않았을까 싶습니다.