개발자 취업을 위한 익명 서류 첨삭 플랫폼
RFP는 개발자들이 취업 준비 과정에서 이력서, 자기소개서, 포트폴리오를 익명으로 공유하고 커뮤니티 피드백을 받을 수 있는 플랫폼입니다.
- 지원서 세트: 이력서, 자기소개서, 포트폴리오를 하나의 패키지로 관리
- 익명 피드백: 신원 노출 없이 솔직한 피드백을 주고받음
- 단락별 댓글: 마크다운 문서의 각 단락에 구체적인 코멘트 작성
- 총평 시스템: 서류별 또는 전체 지원서에 대한 종합 피드백
- OAuth 인증: Google, Kakao, Naver 소셜 로그인 (아이디/비밀번호 없음)
- 콘텐츠 모더레이션: 신고 기반 자동 숨김 및 관리자 검토
- 30일 자동 삭제: 개인정보 보호를 위한 데이터 보존 정책
- Language: Go 1.21+
- Framework: Echo (HTTP router)
- ORM: GORM
- Auth: OAuth 2.0 (Google, Kakao, Naver)
- Markdown: goldmark
- Framework: React 18+ with TypeScript
- State: Zustand + React Query
- Markdown: react-markdown
- HTTP Client: Axios
- Database: PostgreSQL 14+
- Container: Docker
자세한 설정 가이드는 quickstart.md를 참조하세요.
| Software | Version | Check Command |
|---|---|---|
| Go | 1.21+ | go version |
| Node.js | 18+ | node --version |
| PostgreSQL | 14+ | psql --version |
| Docker | 24+ (optional) | docker --version |
# 저장소 클론
git clone https://github.com/your-username/resume-feedback-platform.git
cd resume-feedback-platform
# PostgreSQL (Docker)
docker run -d --name rfp-postgres \
-e POSTGRES_USER=rfp \
-e POSTGRES_PASSWORD=rfpdevpass \
-e POSTGRES_DB=rfp_dev \
-p 5432:5432 \
postgres:14-alpine
# Backend
cd backend
cp .env.example .env
# .env 파일에 OAuth 자격 증명 설정
go mod download
go run cmd/server/main.go
# Frontend (새 터미널)
cd frontend
cp .env.example .env.local
npm install
npm run dev- Frontend: http://localhost:3000
- Backend API: http://localhost:8080/api/v1
resume-feedback-platform/
├── backend/
│ ├── cmd/
│ │ ├── server/ # API 서버 진입점
│ │ └── migrate/ # DB 마이그레이션
│ ├── internal/
│ │ ├── models/ # 도메인 엔티티
│ │ ├── repository/ # 데이터 접근
│ │ ├── service/ # 비즈니스 로직
│ │ ├── handler/ # HTTP 핸들러
│ │ ├── router/ # 라우트 등록
│ │ ├── middleware/ # 미들웨어
│ │ └── oauth/ # OAuth 제공자
│ ├── pkg/
│ │ └── markdown/ # 마크다운 파싱
│ └── tests/
├── frontend/
│ ├── src/
│ │ ├── components/ # UI 컴포넌트
│ │ ├── pages/ # 라우트 페이지
│ │ ├── services/ # API 클라이언트
│ │ ├── store/ # 상태 관리
│ │ └── hooks/ # 커스텀 훅
│ └── tests/
├── specs/
│ └── 001-core-features/
│ ├── spec.md # 기능 명세
│ ├── plan.md # 구현 계획
│ ├── tasks.md # 구현 태스크 (147개)
│ ├── data-model.md # 데이터 모델
│ ├── quickstart.md # 개발 환경 가이드
│ └── contracts/
│ └── openapi.yaml # API 스펙
└── docker-compose.yml
| 문서 | 설명 |
|---|---|
| spec.md | 기능 명세 (49 FRs, 4 User Stories) |
| plan.md | 구현 계획 및 아키텍처 |
| tasks.md | 구현 태스크 목록 (147개) |
| data-model.md | 데이터 모델 (12 엔티티) |
| quickstart.md | 개발 환경 설정 가이드 |
| openapi.yaml | OpenAPI 3.0 스펙 |
- Anonymity First: 피드백 작성자/수신자 신원 비노출
- Test-First (TDD): 테스트 선작성, 80%+ 커버리지
- API First: OpenAPI 스펙 선정의
- Documentation: GoDoc/JSDoc, README 최신화
- Security: 입력 검증, OWASP Top 10 방어
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License