Cupick 은 이미지만 보고 만드는 카페 레시피 제작 및 공유 서비스 입니다.
프로젝트는 2022.08.26 ~ 2022.10.07 까지 총 42 일 간 진행되었습니다.
종료 후, 2022.10.11 부터 유저 테스트 반영한 추가 기능 및 리팩터링 작업을 하고 있습니다.
버전 | 기간 |
---|---|
v1.3.697 | 2022.08.26 ~ 2022.10.07 |
- Figma / 디자인 시안
- Notion / 브로슈어
- Notion / 협업 문서
- GitHub / 프론트엔드, React 저장소
- GitHub / 백엔드, Express 저장소
- GitHub / 백엔드, Labmda 저장소
포지션 | 이름 | number | Link | |
---|---|---|---|---|
Backend, L | 이민석 | - | [email protected] | GitHub |
Backend | 윤승근 | 010-4991-7593 | [email protected] | GitHub |
포지션 | 이름 | Role |
---|---|---|
Backend, L | 이민석 | 인증관련 API, 프로젝트 셋팅, 배포 및 테스트 자동화, 메일링(SES) |
Backend | 윤승근 | 레시피 API, 댓글 API, cupikcs/cupicks-be-lambda |
- TypeScript ReferenceError : Cannot Access with mysql2/promise
- TypeScript 컴파일러 튜닝 및 변경을 통한 컴파일러 성능 약 75% 단축
- GitHub Action + Shell Script + CodeDeploy 를 이용한 무중단 배포 자동화 와 좀비 프로세스 방지
- GitHub Action + Jest 를 이용한 테스트 자동화 로 컴파일링 실패 감지
- GitHub Action 을 이용한 Lambda 배포 자동화
- Lambda, Sharp 를 이용한 이미지 압축
-
JWT RS256 선택
-
TypeScript 선택 이유
-
MySQL 선택 이유
-
Raw Query 선택 이유
-
AWS Lambda 선택 이유
그 외의 Dependencies
- env : 환경변수 설정을 도와주는 라이브러리
- cors : CORS 설정을 손쉽게 도와주는 라이브러리
- joi : 형태와 범위 등의 유효성 검사를 위한 라이브러리
- bcrypt : 단방향 암호화를 위한 라이브러리
- jsonwebtoken : JWT 를 만들기 위한 라이브러리로 RS256 알고리즘 선택
- uuid : Bcrypt
- dayjs : Date 포맷팅, 연산 처리를 위한 경량 라이브러리
- multer : multipart/form-data 파서를 포함하고 있는 이미지 처리용 미들웨어
- morgan : 간단한 요청 로그를 노출 시킬 수 있게 도와주는 미들웨어
그 외의 devDependencies
- cross-env : NODE_ENV 주입을 위한 라이브러리
- husky, lint-staged, prettier : 개별 커밋에 prettier 자동 적용 (local hooks)
- jest, esbuld-jest : 테스트 코드 실행을 위한 라이브러리 및 컴파일러
- node-mocks-http : Mock Request, Response 라이브러리
- @faker-js/faker : Mock Data 라이브러리
- typescript, @types/* : TypeScript 컴파일러(tsc) 와 타입 파일
- EnvProvider + Env 으로 환경 변수 의 누락을 검출 하고 안정적인 공급을 구현
- CustomException + ErrorHandler 으로 사용한 비즈니스 로직 간소화
- DtoFactroy + JoiValidator + Dto 으로 도메인의 매개변수 간소화
Team
Dependencies
DevDependencies
Infra