Skip to content

gosuda/resume-feedback-platform

Repository files navigation

RFP (Resume Feedback Platform)

개발자 취업을 위한 익명 서류 첨삭 플랫폼

소개

RFP는 개발자들이 취업 준비 과정에서 이력서, 자기소개서, 포트폴리오를 익명으로 공유하고 커뮤니티 피드백을 받을 수 있는 플랫폼입니다.

주요 기능

  • 지원서 세트: 이력서, 자기소개서, 포트폴리오를 하나의 패키지로 관리
  • 익명 피드백: 신원 노출 없이 솔직한 피드백을 주고받음
  • 단락별 댓글: 마크다운 문서의 각 단락에 구체적인 코멘트 작성
  • 총평 시스템: 서류별 또는 전체 지원서에 대한 종합 피드백
  • OAuth 인증: Google, Kakao, Naver 소셜 로그인 (아이디/비밀번호 없음)
  • 콘텐츠 모더레이션: 신고 기반 자동 숨김 및 관리자 검토
  • 30일 자동 삭제: 개인정보 보호를 위한 데이터 보존 정책

기술 스택

Backend

  • Language: Go 1.21+
  • Framework: Echo (HTTP router)
  • ORM: GORM
  • Auth: OAuth 2.0 (Google, Kakao, Naver)
  • Markdown: goldmark

Frontend

  • Framework: React 18+ with TypeScript
  • State: Zustand + React Query
  • Markdown: react-markdown
  • HTTP Client: Axios

Infrastructure

  • 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

접속

프로젝트 구조

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 스펙

핵심 원칙

  1. Anonymity First: 피드백 작성자/수신자 신원 비노출
  2. Test-First (TDD): 테스트 선작성, 80%+ 커버리지
  3. API First: OpenAPI 스펙 선정의
  4. Documentation: GoDoc/JSDoc, README 최신화
  5. Security: 입력 검증, OWASP Top 10 방어

기여하기

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

라이선스

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •