개발자의 성장과 취업을 지원하는 AI 기반 통합 플랫폼, DevStation
DevStation은 개발자들이 함께 성장할 수 있도록 돕는 플랫폼입니다.
커뮤니티를 통해 팀 프로젝트와 스터디를 모집하고,
OpenAI 기반 AI 면접 시스템을 통해 기술 면접을 준비하며,
Toss Payments를 통한 구독 서비스를 통해 프리미엄 서비스를 이용할 수 있습니다.
-
개발자 간 협업 및 네트워킹 촉진
- 스터디 및 프로젝트 팀 매칭 기능
- 게시판을 통한 커뮤니티 형성
-
AI를 통한 맞춤형 면접 준비
- 포트폴리오 기반 기술 면접 질문 제공
- 답변 피드백 및 꼬리질문 자동 생성
-
지속 가능한 구독 기반 서비스 운영
- 유료 구독자를 위한 프리미엄 AI 기능 제공
- Toss Payments 자동결제 연동
2025.11.14 (금) 09:00 ~ 2025.11.20 (목) 18:00
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|---|
| 김은경 | 김규섭 | 서명진 | 이유찬 | 조영주 | 최병준 |
| 팀장 | 팀원 | 팀원 | 팀원 | 팀원 | 팀원 |
1. 회원 관리 시스템 (JWT 인증 / Redis 기반)
2. OAuth 2.0 인증 기반 소셜 로그인
3. 게시판 및 커뮤니티 기능
4. AI 면접 지원 시스템 (OpenAI API 기반)
5. 랭킹 시스템(Redis 기반)
6. QnA 게시판
7. 결제 및 구독 서비스 (Toss Payments 연동)
8. Elasticsearch 기반 검색 기능
9. 마이페이지
10. 관리자 페이지
11. Slack WebHook을 통한 OpenAI API 토큰 사용 비용 모니터링
12. Discord WebHook을 통한 서버 ERROR 로그 및 GitHub 저장소 이벤트를 실시간 알림
BACKEND (IntelliJ 환경 변수 설정)
# Database
DB_JDBC_URL=jdbc:mysql://localhost:3306/dev_station
DB_USER=your_db_user
DB_PASSWORD=your_db_password
# Email
MAILGUN_API_KEY=your_mailgun_api_key
MAILGUN_DOMAIN=your_mailgun_domain
MAILGUN_FROM=your_mailgun_sender
# OpenAI
OPENAI_API_KEY=your_openai_api_key
OPENAI_API_URL=https://api.openai.com/v1/chat/completions
# OpenAI ADMIN (OpenAI 사용량 조회 API)
OPENAI_ADMIN_API_KEY=your_openai_admin_key
OPENAI_ADMIN_API_URL=https://api.openai.com/v1/organization/costs
# Payment
PAYMENT_SECRET_KEY=your_payment_secret_key
# JWT
SECRET_PATTERN=your_secret_pattern
# GitHub OAuth
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
# Slack / Discord Webhook
SLACK_WEBHOOK_URL=your_slack_webhook_url
DISCORD_WEBHOOK_URL=your_discord_webhook_urlFRONTEND (.env)
NEXT_PUBLIC_API_BASE_URL ="http://localhost:8080"
# Payment
NEXT_PUBLIC_TOSS_CLIENT_KEY = your_payment_secret_key
http://localhost:8080/swagger-ui/index.html
Frontend
Backend
Test & Monitoring
Search
Webhook
- 트리거 조건
- 브랜치:
main,feature/*,fix/*,refactor/* - 경로:
backend/**
- 브랜치:
- 실행 환경
- JDK 21
- CI 단계
- 저장소 체크아웃
- Java 환경 세팅
- Gradle 실행 권한 부여
- 테스트 프로파일(
spring.profiles.active=test)로 빌드 및 테스트 실행 - 테스트 결과를 PR 코멘트로 출력
- 실패한 코드 라인에 체크 코멘트 등록
- main
- 실제 서비스에 배포되는 안정화 브랜치
- 직접 커밋 금지 (feature, fix, refactor 브랜치를 통해 반영)
- 브랜치 보호 규칙 적용 : PR을 통해 최소 1명의 리뷰 승인 후 머지 가능
- feature/ & fix/ & refactor/
- 개별 기능 개발, 버그 수정, 코드 리팩토링용 브랜치
- 이슈 단위로 생성하여 작업
- 작업 완료 후 PR을 통해 main에 머지
- 이슈 생성 → 작업 단위 정의
- 브랜치 생성 → main 브랜치에서 이슈별 작업 브랜치 생성
- Commit & Push
- PR 생성 & 코드 리뷰 → 최소 1명 승인 필요
- Merge & 브랜치 정리
- 리뷰 완료 후 main 브랜치로 Merge
- Merge 후 이슈별 작업 브랜치 삭제
-
이슈
- 제목 규칙 :
[타입] 작업내용 - 예시 :
[feat] 로그인 기능 추가 - 본문은 템플릿에 맞춰서 작성
- 제목 규칙 :
-
PR
- 제목 규칙 :
[타입] 작업내용 - 예시 :
[feat] 로그인 기능 추가 - 본문은 템플릿에 맞춰서 작성 + close #이슈넘버
- 제목 규칙 :
-
브랜치
- 생성 기준 :
main브랜치에서 생성 - 명명 규칙 :
타입/#이슈번호 - 예시:
feature/#1
- 생성 기준 :
-
Commit Message 규칙
타입 의미 feat 새로운 기능 추가 fix 버그 수정 docs 문서 수정 (README, 주석 등) style 코드 스타일 변경 (포맷팅, 세미콜론 등. 기능 변화 없음) refactor 코드 리팩토링 (동작 변화 없음) test 테스트 코드 추가/수정 chore 빌드, 패키지 매니저, 설정 파일 등 유지보수 작업(환경 설정) remove 파일, 폴더 삭제 rename 파일, 폴더명 수정 타입 : 작업내용 #이슈번호- 예시:
feat : 로그인 기능 추가#1





