Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

해커톤 신청 사이트

Vue.js 3 + Spring Boot 3 + PostgreSQL 스택으로 개발되는 Azure AKS 배포용 컨테이너 기반 해커톤 신청 플랫폼입니다.

🚀 기술 스택

Frontend

  • Vue.js 3.4.x + TypeScript + Composition API
  • Vite 5.x (빌드 도구)
  • Vuetify 3.x (UI 프레임워크)
  • Pinia 2.x (상태 관리)
  • Axios 1.6.x (HTTP 클라이언트)

Backend

  • Spring Boot 3.2.x + Java 17
  • Spring Security 6.2.x (JWT 기반 인증)
  • Spring Data JPA 3.2.x + Hibernate
  • Springdoc OpenAPI 2.x (API 문서화)

Database & Cache

  • PostgreSQL 15.x (메인 데이터베이스)
  • Redis 7.x (캐싱)

Infrastructure

  • Docker + Kubernetes (컨테이너화)
  • Azure AKS (클러스터 관리)
  • Azure Blob Storage (파일 저장)
  • Azure Redis Cache (캐싱)

📁 프로젝트 구조

hackathon-project/
├── frontend/                 # Vue.js 3 프론트엔드
│   ├── src/
│   ├── public/
│   ├── package.json
│   └── vite.config.ts
├── backend/                  # Spring Boot 3 백엔드
│   ├── src/main/java/
│   ├── src/main/resources/
│   ├── pom.xml
│   └── Dockerfile
├── database/                 # 데이터베이스 스키마 및 마이그레이션
│   ├── migrations/
│   └── init/
├── k8s/                     # Kubernetes 매니페스트
│   ├── frontend/
│   ├── backend/
│   └── database/
├── docker-compose.yml       # 로컬 개발 환경
├── .gitignore
└── README.md

🛠️ 개발 환경 설정

Prerequisites

  • Node.js 18.x 이상
  • Java 17 이상
  • Docker & Docker Compose
  • Maven 3.8 이상

로컬 개발 환경 실행

  1. 전체 스택 실행 (Docker Compose)

    docker-compose up -d
  2. 개별 서비스 실행

    # Frontend
    cd frontend
    npm install
    npm run dev
    
    # Backend
    cd backend
    ./mvnw spring-boot:run

접속 정보

🎯 주요 기능

사용자 기능

  • ✅ 대회 소개 및 참가 안내 페이지
  • ✅ 해커톤 신청 폼 (팀 정보, 팀원 정보)
  • ✅ 파일 업로드/다운로드 (드래그 앤 드롭)
  • ✅ 실시간 팀명 중복 검사
  • ✅ 신청 조회 및 수정
  • ✅ 접수 기간 관리

관리자 기능

  • ✅ 신청 현황 대시보드
  • ✅ 신청 팀 목록 및 상세 조회
  • ✅ 데이터 내보내기 (Excel, CSV)
  • ✅ 시스템 설정 관리

🔒 보안 및 개인정보 보호

  • 개인정보 암호화: AES-256 암호화
  • 보안 헤더: XSS, CSRF 방지
  • 입력값 검증: 프론트엔드 + 백엔드 이중 검증
  • 파일 보안: 바이러스 스캔, 확장자 검증
  • 개인정보보호법 준수: 1년 보관 후 자동 삭제

🚀 배포

Azure AKS 배포

# Kubernetes 매니페스트 적용
kubectl apply -f k8s/

# 서비스 확인
kubectl get services
kubectl get pods

환경 변수 설정

# .env 파일 생성
cp .env.example .env

# 필요한 환경 변수 설정
DATABASE_URL=postgresql://...
REDIS_URL=redis://...
AZURE_STORAGE_CONNECTION_STRING=...

📊 성능 목표

  • 동시 접속: 최대 100명
  • 페이지 로딩: 3초 이내
  • 파일 업로드: 50MB 파일 5분 이내
  • 가용성: 99.9% 이상

🤝 기여하기

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 라이선스

이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

📞 문의

프로젝트 관련 문의사항이 있으시면 이슈를 생성해 주세요.


개발 기간: 2025.09.11 ~ 2025.10.11 (4주)
배포 환경: Azure AKS
대상 사용자: 대학생 이상 (최대 5명 팀)

About

해커톤 신청 사이트 - Vue.js 3 + Spring Boot 3 + PostgreSQL 스택으로 개발되는 Azure AKS 배포용 컨테이너 기반 해커톤 신청 플랫폼

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages