(2021.10.25~12.09, 2주간 프론트 5명, 백엔드 2명 총 7명)
프로젝트 소개
SNS의 커뮤니티 기능과 더불어 개발 직무에 관한 채용 공고를 검색하고 조회할 수 있는 사이트입니다.
담당업무(Backend)
- 초기 세팅, DB Modeling, Jobs, Search, Feed 페이지에 대한 API 구현 그리고 Docker를 활용한 백앤드 배포 담당
사용 기술
Node.js(Express) / Mysql, Prismt / RestAPI / Docker
구현내역
초기 세팅 및 DB 모델링 설계
인프라
- EC2에 Docker image를 이용하여 deploy 및 관리
비즈니스 로직
- Date 객체의 getTime 메소드로 시, 일, 주, 달 기준으로 채용 공고에 등록된 date-time
형식을 formation 해주는 로직 작성
페이지네이션과 무한스크롤
- 검색 결과 페이지의 pagination이 가능하도록 query 작성
- 피드 페이지의 infinite scroll이 가능하도록 query 작성
API (채용, 검색, 피드) 생성
- Sql의 Prisma.join 문으로 유저와 1촌 관계인 포스트와 댓글을 읽어오는 API 구현
- 1촌 관계인 유저의 포스트 및 댓글, 좋아요 개수 가져오는 API 구현
- SQL의 replace 문을 통해 공백이 제거된 query 키워드와 정규표현식 키워드가 일치하는 채용과 유저 데이터를 검색하는 API 구현
- Sql의 sub-query와 Prisma.sql 문을 활용하여 필터링된 채용 공고 데이터를 가져오도록 API 구현
- 포스트와 댓글, 좋아요에 대한 CRUD 기능 구현
데이터베이스
- csv 작성한 데이터들을 자동화하여 업로드 해주는 dataUploader 구현
미들웨어
- global 미들웨어를 활용하여 에러 객체의 종류를 UserFacingError, ApplicationError, DatabaseError로 나누어 전역에서 에러처리를 할 수 있도록 구현
프론트 엔드와 API 통신하는 모습

참고자료