Skip to content

Repository files navigation

📁 목록

main.js를 중심으로 한 클래스 설계 연습

  • Product, Article 클래스 정의
  • 좋아요 / 즐겨찾기 기능
  • 게시글, 상품 관련 서비스 메서드 작성

PostgreSQL 기반의 실전형 CRUD API 서버 구현

  • 상품 및 게시글 등록/조회/수정/삭제 API
  • 댓글 기능 + cursor 페이지네이션
  • 이미지 업로드, 유효성 검사, 에러 핸들러 구현
  • .env 환경 설정, CORS, 시딩 처리 등 실전 환경 구성
  • 🔗 배포 링크 : https://nb2-missions-sprint3.onrender.com

JWT 기반 인증 + 게시글/댓글/좋아요 기능 포함한 사용자 중심 API 서버 구현

  • 회원가입 / 로그인 (Access + Refresh Token 발급)
  • 유저 정보 조회 / 수정 / 비밀번호 변경
  • 게시글, 댓글 등록/조회/수정/삭제 기능
  • 게시글/상품에 대한 좋아요 및 좋아요 취소 기능
  • 좋아요 여부(isLiked) 포함 응답 및 좋아요한 목록 조회
  • Prisma 관계형 설계 및 onDelete 적용
  • 인증 미들웨어, 인가 처리, 유저 기반 권한 검증 구현

기존 Express.js 프로젝트를 타입스크립트로 마이그레이션하고, Controller/Service/Repository 계층 분리 적용

  • tsconfig.json 파일 생성 및 옵션 설정 (예: outDir)
  • 타입스크립트 개발 환경 세팅 (ts-node, nodemon 스크립트 포함)
  • any 타입 최소화, 인터페이스 및 타입 별칭 활용
  • declare로 req.user 등 타입 확장
  • Controller, Service, Repository 계층 구조로 코드 리팩토링
  • DTO 활용해 계층 간 데이터 전달 명확화

PostgreSQL 기반의 실전형 데이터셋으로 SQL 기본 문법 및 고급 분석 쿼리 작성 연습

  • psql, pgAdmin4 환경에서 데이터베이스 연결 및 초기 세팅
  • SELECT, WHERE, ORDER BY, GROUP BY 등 기본 SQL 문법 실습
  • OFFSET 기반 및 커서 기반 페이지네이션 쿼리 구현
  • JOIN, 집계 함수(SUM, COUNT) 활용한 통계 쿼리 작성
  • 날짜별 주문 수량, 피자별 매출 등 실전 분석 쿼리 연습
  • ORM 없이 순수 SQL로 데이터 관계 및 흐름 이해 강화

간단한 커뮤니티/마켓 서비스 구조 기반으로 SQL 스키마를 직접 설계하고, 주요 기능에 대한 쿼리 작성 실습

  • users, products, posts, comments 등 핵심 테이블 직접 설계 및 관계 구성
  • ERD 작성 및 다형성 테이블 구조 구성 (likes, comments)
  • SELECT, INSERT, UPDATE, DELETE 등 기본 SQL 문법 실습
  • OFFSET 기반, 커서 기반 페이지네이션 구현
  • JOIN, LIKE 검색, GROUP BY + COUNT로 좋아요 수 포함 조회
  • ORM 없이 순수 SQL로 전체 데이터 흐름과 관계형 모델 설계 역량 강화

좋아요한 상품 가격 변동 및 게시글 댓글에 대한 실시간 알림 기능 구현

  • Notification 모델 추가 및 Prisma 스키마 수정
  • NotificationRepository, NotificationService, NotificationController 구현
  • ProductService에서 가격 변동 시 알림 생성 및 실시간 전송
  • CommentService에서 댓글 작성 시 게시글 작성자에게 알림 생성 및 실시간 전송
  • Socket.IO를 활용한 유저별 room join 및 실시간 알림 수신 기능 구현
  • Notification 조회, 안 읽은 알림 개수 확인, 읽음 처리 API 구현
  • 기존 상품/게시글/댓글 CRUD와 통합, 권한 검증 적용

Node.js + Express + Prisma 프로젝트에서 Jest와 Supertest를 활용한 테스트 자동화 구현

  • 인증 API (로그인/회원가입) 테스트 작성
  • 게시글, 상품 CRUD API 테스트 작성
  • 댓글, 좋아요 기능 포함한 통합 테스트 작성
  • 테스트용 데이터베이스 시드 및 teardown 구현
  • Prisma ClientKnownRequestError 대응 및 외래 키 제약 처리
  • 테스트 실행 시 발생하는 에러 로그 확인 및 디버깅
  • npm test로 전체 테스트 자동화 실행 및 결과 확인

Github Actions + Docker 기반 CI/CD 파이프라인 구축 및 배포 환경 구성

  • Dockerfile 작성 및 Express 서버 컨테이너화
  • docker-compose로 DB(Postgres) + API 서버 동시 실행
  • 업로드 파일 유지 위해 Volume 설정 (./uploads:/app/uploads)
  • Github Actions Workflow 작성
    • PR 발생 시 테스트 자동 실행
    • main 브랜치 push 시 AWS 배포 자동화
  • 로컬/배포 환경에서 동일한 방식으로 앱 실행 가능하도록 구성
  • docker-compose up --build로 로컬 실행 및 테스트 완료

About

2기 스프린트 미션을 정리한 저장소입니다.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages