프로젝트 소개
지역 체육대회는 수많은 종목, 수백 명의 선수, 복잡한 토너먼트 대진, 그리고 실시간 심판 채점이 동시에 이루어지는 복잡한 이벤트입니다. 기존에는 수기 작성과 엑셀 파일로 대회를 운영하면서 많은 어려움이 있었습니다.
이 프로젝트는 대회 운영진, 심판진, 관중이 모두 사용할 수 있는 통합 전산 시스템으로, 선수 등록부터 대진표 생성, 실시간 채점, 결과 집계까지 모든 과정을 디지털화하여 체육대회 운영의 효율성을 극대화했습니다.
주요 기능
1. 대회 및 선수 정보 관리
대회 운영진은 시스템을 통해 여러 대회를 등록하고 관리할 수 있습니다. 각 대회마다 일정, 종목, 체급 정보를 설정하며, 진행 중인 대회를 선택하여 활성화할 수 있습니다.
선수 정보는 이름, 소속, 성별, 체급, 종목별로 체계적으로 관리되며, 실시간으로 수정 및 추가가 가능합니다. 70명 이상의 선수 데이터를 한 번에 조회하고 검색할 수 있는 대용량 데이터 처리 기능을 갖추고 있습니다.
2. 실시간 토너먼트 대진표 생성 및 관리
가장 복잡한 부분 중 하나가 바로 토너먼트 대진표 생성입니다. 이 시스템은 선수 체급과 종목에 따라 자동으로 토너먼트 대진표를 생성하며, 시각적으로 트리 구조를 보여줍니다.
대진표는 단계별(8강, 4강, 준결승, 결승 등)로 구성되며, 각 경기마다 홍팀/청팀이 자동 배정됩니다. 경기 진행 상황에 따라 승자가 다음 라운드로 자동 진출되며, 전체 대진 흐름을 한눈에 파악할 수 있습니다.
3. 다중 심판 채점 시스템 및 전광판 연동
경기의 공정성을 위해 5명의 심판이 동시에 채점할 수 있는 시스템을 구축했습니다. 각 심판은 자신의 화면에서 독립적으로 점수를 입력하며, 시스템은 이를 실시간으로 수집합니다.
전광판 화면은 관중과 선수들이 볼 수 있도록 큰 화면에 표시되며, 다음과 같은 정보가 실시간으로 업데이트됩니다:
- 경기 라운드 및 체급 정보
- 선수별 실시간 득점 현황
- 심판별 채점 점수(5명의 심판 점수 개별 표시)
- 주의, 경고, 하퇴, 강제 등 반칙 카운터
- 경기 타이머 및 최종 득점
심판장은 전광판 관리자 화면에서 경기 번호를 전환하고, 심판별 점수를 선택적으로 적용하거나 제외할 수 있습니다. 이를 통해 채점의 투명성과 신뢰성을 확보했습니다.
4. 경기 결과 자동 집계 및 보고서 생성
모든 경기가 종료되면 시스템은 자동으로 결과를 집계합니다. 심판별 점수를 기반으로 최고점과 최저점을 제외한 평균값을 계산하며, 감점 사항을 반영하여 최종 득점을 산출합니다.
경기결과 페이지에서는 상세한 심판 채점 내역과 함께 결과를 확인할 수 있으며, 이를 PDF 또는 Excel 형식으로 출력하여 공식 보고서로 활용할 수 있습니다.
제작 과정
기술 스택 선정
실시간 데이터 동기화가 핵심이었기 때문에 Node.js와 Express를 기반으로 백엔드를 구축했습니다. WebSocket 대신 짧은 폴링 방식을 사용하여 전광판과 심판 화면 간 데이터 동기화를 구현했습니다.
- 백엔드: Node.js, Express
- 프론트엔드: EJS, JavaScript, CSS
- 데이터베이스: MySQL (선수 정보, 대회 정보, 경기 기록 저장)
- 실시간 통신: 폴링 방식 API
토너먼트 알고리즘 구현
토너먼트 대진표를 자동 생성하는 알고리즘을 직접 설계했습니다. 참가 선수 수에 따라 부전승(Bye)을 자동 배정하고, 트리 구조로 각 라운드를 생성합니다.
특히 홍팀과 청팀을 번갈아 배정하는 로직을 추가하여, 관중과 심판이 쉽게 선수를 구분할 수 있도록 했습니다.
심판 채점 시스템의 정확성 확보
5명의 심판이 입력한 점수를 실시간으로 수집하고, 최고점과 최저점을 제외한 나머지 3개 점수의 평균을 계산하는 로직을 구현했습니다. 이는 체육대회에서 일반적으로 사용되는 채점 방식입니다.
심판장은 특정 심판의 점수를 제외하거나 포함할 수 있는 권한을 가지며, 이를 통해 오입력이나 기술적 문제 발생 시 유연하게 대응할 수 있습니다.
대회 현장 사용자 경험 최적화
실제 대회 현장에서는 빠른 입력과 직관적인 UI가 중요합니다. 다음과 같은 UX 개선을 적용했습니다:
- 큰 버튼과 명확한 색상 구분 (홍팀=빨강, 청팀=파랑)
- 키보드 단축키 지원 (빠른 점수 입력)
- 터치 화면 최적화 (태블릿 사용 가능)
- 경기 번호 전환 시 자동 화면 전환
- 전광판 화면의 대형 폰트 및 고대비 색상
프로젝트 성과
이 시스템을 도입한 후 대회 운영 시간이 약 40% 단축되었으며, 수기 작성으로 인한 오류가 완전히 사라졌습니다. 심판진과 운영진 모두 시스템의 직관성과 안정성에 높은 만족도를 표현했습니다.
특히 실시간 전광판 기능은 관중들에게 경기 상황을 명확하게 전달하여 대회의 투명성과 공정성을 크게 향상시켰습니다.
마무리하며
체육대회 전산 시스템은 단순히 데이터를 기록하는 것을 넘어, 대회 운영의 전 과정을 디지털화하고 자동화하는 프로젝트였습니다. 실시간 채점, 토너먼트 관리, 결과 집계 등 복잡한 요구사항을 충족하며, 실제 현장에서 안정적으로 작동하는 시스템을 구축할 수 있었습니다.
이벤트 관리 시스템, 실시간 채점 시스템, 토너먼트 시스템 등 유사한 기능이 필요하신 분들은 언제든지 문의 주시기 바랍니다.