vault backup: 2026-05-05 21:27:37
This commit is contained in:
201
프롬프트/백엔드 + 인프라 + 설계 프로젝트 포트폴리오 정보 추출 요청.md
Normal file
201
프롬프트/백엔드 + 인프라 + 설계 프로젝트 포트폴리오 정보 추출 요청.md
Normal file
@@ -0,0 +1,201 @@
|
||||
# 백엔드 + 인프라 + 설계 프로젝트 포트폴리오 정보 추출 요청
|
||||
|
||||
이 저장소를 백엔드 + 인프라 + 설계 프로젝트 포트폴리오 작성 관점에서 분석해줘.
|
||||
|
||||
단순 기능 목록이 아니라, 아래 항목을 중심으로 “백엔드 개발자 포트폴리오에 쓸 수 있는 정보”를 뽑아줘.
|
||||
|
||||
## 1. 프로젝트 목적
|
||||
- 이 프로젝트가 해결하려는 문제
|
||||
- 주요 사용자
|
||||
- 프로젝트 목표
|
||||
- 백엔드가 담당하는 핵심 책임
|
||||
- 인프라 구성이 필요한 이유
|
||||
- 프로젝트를 한 줄로 설명할 수 있는 문장
|
||||
|
||||
## 2. 전체 아키텍처
|
||||
- 전체 구성 요소
|
||||
- 프론트엔드/백엔드/DB/Redis/Storage/Worker/Reverse Proxy 관계
|
||||
- 외부 요청이 내부 서비스로 전달되는 흐름
|
||||
- 서비스 간 책임 분리
|
||||
- 외부 공개 서비스와 내부 서비스 구분
|
||||
- 모놀리스/모듈러 모놀리스/마이크로서비스 여부
|
||||
- 아키텍처 설계 의도
|
||||
|
||||
## 3. API 설계
|
||||
- 주요 API 목록
|
||||
- Endpoint 경로
|
||||
- HTTP Method
|
||||
- Request DTO
|
||||
- Response DTO
|
||||
- 인증 필요 여부
|
||||
- 권한 필요 여부
|
||||
- 성공/실패 상태 코드
|
||||
- API 버전 관리 여부
|
||||
- Swagger/OpenAPI 문서화 여부
|
||||
|
||||
## 4. 인증/인가 설계
|
||||
- 로그인 방식
|
||||
- JWT/Session/OAuth2 사용 여부
|
||||
- 현재 사용자 식별 방식
|
||||
- Role/Permission 구조
|
||||
- 리소스 소유자 검증 방식
|
||||
- 권한 검증 위치
|
||||
- 인증 실패/권한 실패 응답 방식
|
||||
- 인증/인가 설계 판단
|
||||
|
||||
## 5. 데이터베이스 설계
|
||||
- 주요 Entity 목록
|
||||
- 테이블 간 관계
|
||||
- 주요 필드
|
||||
- FK/Unique/Index 제약
|
||||
- Soft Delete 여부
|
||||
- CreatedAt/UpdatedAt 관리 방식
|
||||
- Migration 관리 방식
|
||||
- 데이터 정합성을 보장한 방식
|
||||
- 데이터 모델링 설계 이유
|
||||
|
||||
## 6. 비즈니스 로직 / UseCase 구조
|
||||
- 주요 UseCase 목록
|
||||
- Command/Query 구조
|
||||
- 요청 처리 순서
|
||||
- 검증 로직
|
||||
- 비즈니스 실패 조건
|
||||
- 성공 시 변경되는 데이터
|
||||
- 실패 시 반환되는 에러
|
||||
- API 계층과 UseCase 계층의 책임 분리 방식
|
||||
|
||||
## 7. 트랜잭션과 동시성
|
||||
- 트랜잭션이 필요한 기능
|
||||
- 트랜잭션 범위
|
||||
- 여러 Entity를 함께 저장하는 흐름
|
||||
- 동시 요청 시 발생할 수 있는 문제
|
||||
- 중복 생성 방지 방식
|
||||
- Unique 제약, Lock, CAS, Optimistic Concurrency 사용 여부
|
||||
- Idempotency 고려 여부
|
||||
- 외부 파일/네트워크 작업과 DB 작업의 정합성 처리 방식
|
||||
|
||||
## 8. 예외 처리와 응답 구조
|
||||
- Validation 실패 처리
|
||||
- 비즈니스 실패 처리
|
||||
- 시스템 예외 처리
|
||||
- Global Exception Middleware 사용 여부
|
||||
- Result 패턴 사용 여부
|
||||
- 공통 ErrorResponse 구조
|
||||
- 에러 코드 체계
|
||||
- 로그 레벨 구분
|
||||
- 프론트엔드가 에러를 일관되게 처리할 수 있는지
|
||||
|
||||
## 9. 인프라 구성
|
||||
- Dockerfile 존재 여부
|
||||
- Docker Compose 구성
|
||||
- 서비스별 컨테이너 역할
|
||||
- DB/Redis/Storage/Worker 구성
|
||||
- Reverse Proxy 구성
|
||||
- 내부 네트워크/외부 네트워크 구성
|
||||
- Volume 마운트 구조
|
||||
- Healthcheck
|
||||
- depends_on 조건
|
||||
- 포트 노출 정책
|
||||
- 인프라 구성 설계 의도
|
||||
|
||||
## 10. Reverse Proxy / 도메인 / HTTPS
|
||||
- Caddy/Nginx 사용 여부
|
||||
- 도메인 라우팅 구조
|
||||
- subdomain 구성
|
||||
- HTTPS 적용 방식
|
||||
- reverse_proxy 대상
|
||||
- 관리자 도구 접근 제한
|
||||
- Basic Auth 적용 여부
|
||||
- 외부 포트 노출 최소화 여부
|
||||
|
||||
## 11. 환경변수와 설정 관리
|
||||
- .env 구조
|
||||
- 개발/운영 설정 분리 여부
|
||||
- DB 연결 문자열 구성 방식
|
||||
- Redis 연결 설정
|
||||
- Secret 관리 방식
|
||||
- ASP.NET Options 바인딩 여부
|
||||
- 설정 검증 여부
|
||||
- 하드코딩 제거 여부
|
||||
|
||||
## 12. 로그 / 모니터링 / 운영
|
||||
- 로깅 구조
|
||||
- 구조화 로그 사용 여부
|
||||
- 요청/응답 로그
|
||||
- 예외 로그
|
||||
- 로그 레벨 기준
|
||||
- Dozzle/Grafana/Loki 등 운영 도구 사용 여부
|
||||
- Healthcheck
|
||||
- 장애 확인 방법
|
||||
- 운영 관점에서 아쉬운 부분
|
||||
|
||||
## 13. CI/CD / 배포 자동화
|
||||
- GitHub Actions/GitLab CI 존재 여부
|
||||
- Build/Test 단계
|
||||
- Docker image build 여부
|
||||
- 배포 자동화 여부
|
||||
- Migration 실행 방식
|
||||
- 브랜치 전략
|
||||
- 배포 실패 시 대응 방식
|
||||
- 향후 개선할 배포 구조
|
||||
|
||||
## 14. 성능 최적화
|
||||
- 성능을 고려한 API
|
||||
- Pagination 적용 여부
|
||||
- Projection DTO 조회 여부
|
||||
- AsNoTracking 사용 여부
|
||||
- Include/N+1 문제 처리
|
||||
- Index 적용 여부
|
||||
- Cache 적용 여부
|
||||
- 응답 시간 측정 또는 개선 수치
|
||||
- 성능상 아쉬운 부분
|
||||
|
||||
## 15. 설계 문서화
|
||||
- README 구조
|
||||
- API 문서
|
||||
- ERD
|
||||
- 아키텍처 다이어그램
|
||||
- 시퀀스 다이어그램
|
||||
- 배포 구조도
|
||||
- 기술 선택 이유 문서
|
||||
- 대안 비교 기록
|
||||
- ADR 존재 여부
|
||||
- Mermaid 다이어그램 사용 여부
|
||||
|
||||
## 16. 문제 해결 사례 후보
|
||||
아래 구조로 3~5개 후보를 찾아줘.
|
||||
|
||||
### 문제 상황
|
||||
무슨 문제가 있었는지
|
||||
|
||||
### 원인 분석
|
||||
왜 문제가 발생했는지
|
||||
|
||||
### 해결 방법
|
||||
어떤 구조나 기술로 해결했는지
|
||||
|
||||
### 선택 이유
|
||||
왜 그 방법을 선택했는지
|
||||
|
||||
### 결과
|
||||
성능, 안정성, 유지보수성, 확장성, 운영 편의성 측면에서 어떤 개선이 있었는지
|
||||
|
||||
## 17. 포트폴리오 문장 초안
|
||||
위 분석을 바탕으로 아래 항목별로 바로 사용할 수 있는 문장 초안을 작성해줘.
|
||||
|
||||
- 프로젝트 개요
|
||||
- 담당 역할
|
||||
- 주요 기여
|
||||
- 사용 기술 및 선택 이유
|
||||
- 아키텍처 설계
|
||||
- API 설계
|
||||
- 인프라 구성
|
||||
- 문제 해결 사례
|
||||
- 프로젝트 성과
|
||||
- 회고
|
||||
|
||||
주의:
|
||||
- 실제 코드에서 확인되는 내용만 작성해줘.
|
||||
- 확인되지 않는 내용은 “확인 필요”로 표시해줘.
|
||||
- 단순 기능 나열이 아니라 “문제 → 설계 선택 → 구현 방식 → 결과” 구조로 작성해줘.
|
||||
- 백엔드 개발자 관점에서 API, 인증/인가, DB, 트랜잭션, 예외 처리, Docker, Reverse Proxy, 환경변수, 로그, 배포 구조를 강조해줘.
|
||||
Reference in New Issue
Block a user