이 프로젝트는 MJSEC_CTF(Capture The Flag) 대회를 위한 웹 사이트로, CTFd를 사용하지 않고 직접 개발되었습니다. 이 문서는 프로젝트의 설치 방법, 기여자 정보, 기술 스택, 협업 방식, 개발 기간, 시스템 아키텍처, ERD, 구현된 기능, 그리고 화면 구성을 설명합니다.
아래 단계를 따라 서버를 설치하고 실행할 수 있습니다.
프로젝트는 백엔드, 프론트엔드, 디스코드 봇으로 나누어져 있습니다. 각 저장소를 복제합니다.
# 백엔드 저장소 복제
git clone https://github.com/MJSEC-MJU/MSG_CTF_BACK.git
cd backend
# 프론트엔드 저장소 복제
git clone https://github.com/MJSEC-MJU/MSG_CTF_WEB.git
cd frontend
# 디스코드 봇 저장소 복제
git clone https://github.com/MJSEC-MJU/MSG_DISCORDBOT.git
cd discord-bot
|
|
|
| 플랫폼 | 사용 방식 |
|---|---|
| 매주 금요일 2시 회의, 라이브 코딩 | |
| PR을 통해 변경사항 및 테스트 과정 확인 | |
| 컨벤션, API, 회의 기록 문서화 |
- 2024.12.28 ~ 2025.01.04 : 팀 규칙 및 코딩 컨벤션 의논, 기능 정의
- 2025.01.04 ~ 2025.01.18 : API 명세서 작성, ERD 설계
- 2025.01.18 ~ 2025.01.25 : 프로젝트 환경 세팅, 로그인/회원가입 기능 구현
- 2025.01.25 ~ 2025.02.01 : 문제 생성/수정/삭제 기능 구현
- 2025.02.01 ~ 2025.02.08 : 문제 전체 조회, 문제 상세 조회, 문제 제출 기능 구현
- 2025.02.08 ~ 2025.02.15 : 유저 프로필 조회, 리더보드(랭킹 & 그래프) 기능 구현
- 2025.02.15 ~ 2025.02.22 : 디스코드봇 개발 및 연동
- 2025.02.22 ~ 2025.03.01 : 관리자 기능(사용자/문제 생성, 조회, 수정, 삭제) 구현
- 2025.03.01 ~ 2025.03.08 : 버그 수정
- 2025.03.08 ~ : 테스트 및 코드 리펙토링
- 회원가입 / 로그인 / 로그아웃 기능
- 유저 프로필 조회 기능 (획득한 점수, 랭크, 푼 문제, 풀지 않은 문제 조회)
- 문제 목록 전체 조회
- 문제 상세 조회 (문제 제목, 문제 설명, 문제 링크 조회 및 문제 파일 다운로드)
- 문제 제출 (다이나믹 스코어링으로 랭크 갱신, 디스코드 봇 연동)
- 개인 부문 랭킹 조회 (그래프 & 테이블로 조회)
- 대학 부문 랭킹 조회 (그래프 & 테이블로 조회)
- 개인 부문 랭킹 조회 (유저 ID, 점수, 티어, 순위 조회)
- 회원 조회 / 생성 / 수정 / 삭제
- 문제 조회 / 생성 / 수정 / 삭제
- First-Blood BOT : 채널 멤버에게 처음 문제를 풀이한 사람 정보 전달
- Role BOT : 채널 멤버에게 공지 사항, 대회 시작 정보, 우승자 정보 전달
- Ticket BOT : 티켓 생성 (관리자와 개인 채팅방 생성), 티켓 방 (티켓 방 내에서 대화한 로그 txt 형태로 저장, 대화 종료) 기능
- DJ BOT : 모든 멤버 음소거 / 음소거 해제, 노래 추가 / 재생 / 건너뛰기 / 중단, 플레이리스트 조회 기능
| 메인 페이지 | 로그인 페이지 |
|---|---|
![]() |
![]() |
| 회원가입 페이지 | 문제 목록 조회 페이지 |
|---|---|
![]() |
![]() |
| 문제 상세 조회 페이지 | 스코어보드 페이지 1 |
|---|---|
![]() |
![]() |
| 스코어보드 페이지 2 | 랭킹 페이지 |
|---|---|
![]() |
![]() |
| 유저 프로필 페이지 | 관리자 로그인 페이지 |
|---|---|
![]() |
![]() |
| 회원 관리 페이지 | 문제 관리 페이지 |
|---|---|
![]() |
![]() |
| 🎟️ Ticket BOT | 🎭 Role BOT |
![]() |
![]() |
| 🩸 First-Blood BOT | 🎵 DJ BOT |
![]() |
![]() |

























