목표
React와 Express를 이용한 통합 프로젝트
- 데이터베이스와 사용자 인터페이스를 포함하여 개발
- 개발 및 통합(빌드, 테스트) 과정을 자동화 파이프라인으로 구축
🧊 실습 흐름
-
요구사항 분석과 구조 설계
-
백엔드 상세 설계와 개발환경 셋업
-
단위테스트와 컨테이너화
-
Selenium을 이용한 E2E(end-to-end) 테스트
-
AWS 클라우드 인프라를 이용하여 배포
-
CI/CD 파이프라인 구축
-
모니터링과 시각화
개요
🧊 기술 스택
Backend
- Main framework: Express.js
- DB: MariaDB
Frontend
- Main framework: React.js
- Tiptap library for editor component
- JsonWebToken library for user authentication
Production deployment
- AWS, Kubernetes, Minikube
- Jenkins, Terraform, Selenium
🧊 프로젝트 명세
소프트웨어 요구사항 명세서
구조 설계서
- BE: API 입/출력 및 동작에 대한 명세, 소스코드 패키지 구조
- FE: 컴포넌트 구분 및 계층 구조 명세, 소스 코드 패키지 구조
상세 설계서
- BE: 생략
- FE: 각 컴포넌트의 기능 명세 및 와이어프레임
🧊 소프트웨어 요구사항 명세
요구사항은 여러 가지 이유로 프로젝트 수행 도중 변경될 수 있음
테스트 케이스의 작성은 요구사항을 반영해야 함
🧊 요구사항 명세서
Software Requirement Specification(SRS)
Requirement-driven development
- mission critical system 등에서는 formal verification 방법과 조합하여 요구사항 만족을 엄격하게 검증하는 것을 중요시함