Keep (잘한 점)
1. 아키텍처 설계
- Controller-Service-Repository 패턴을 일관되게 적용
- 각 계층의 역할과 책임을 명확하게 분리
- 테스트 코드를 체계적으로 구현
2.코드 품질
- 일관된 에러 처리 방식 (CustomError 활용)
- HTTP 상태 코드와 메시지를 상수로 관리
- Jest를 활용한 단위 테스트 구현
3. 데이터베이스 설계
- Prisma를 활용한 체계적인 DB 스키마 관리
- 관계형 데이터베이스의 특성을 잘 활용한 테이블 설계
- 외래 키 제약조건을 통한 데이터 무결성 보장
Problem (개선이 필요한 점)
- 프론트엔드 구조
- HTML 파일들이 너무 많이 분산되어 있음
- 중복되는 스타일 코드가 많음
- JavaScript 코드가 HTML 파일 내에 직접 작성되어 있음
2. 에러 처리
- 클라이언트 측 에러 처리가 단순한 alert로만 되어 있음
- 서버 측 에러 메시지가 때때로 일관성이 부족함
3. 보안
- 토큰 관리가 localStorage에 의존
- 입력값 검증이 클라이언트 측에서만 이루어지는 경우가 있음
Try (시도해볼 점)
- 프론트엔드 개선
- React나 Vue.js 같은 프레임워크 도입 검토
- CSS 프레임워크나 스타일 컴포넌트 활용
- JavaScript 코드를 별도 파일로 분리
2. 보안 강화
- HttpOnly 쿠키를 사용한 토큰 관리
- 서버 측 입력값 검증 강화
- XSS, CSRF 대비 보안 강화
3. 개발 환경 개선
- API 문서화 도구 도입 (Swagger 등)
- 환경 변수 관리 체계화
- CI/CD 파이프라인 구축 검토