Overview
DataGSM은 광주소프트웨어마이스터고등학교에서의 서비스 개발을 쉽게 만들어줍니다. 학교에 관한 각종 데이터들을 기술에 구애받지않고 원하는 환경에서 사용할 수 있도록 신속하고 정확하게 제공합니다. 강력한 Spring Boot 기반의 시스템은 어떤 환경에서든 안정적으로 동작하는 서비스를 빠르고 쉽게 구축할 수 있도록 돕습니다. 재학생들의 편의를 위해 효과적인 인증 솔루션을 지원합니다.
DataGSM은 공개적으로 관리되는 학교와 관련된 데이터들을 취급합니다. 학년, 학급, 기숙사 호실 등 공개적으로 관리되고 있는 학생 데이터와 매달 갱신되는 동아리 데이터 등 이미 제공되고 있지만 흩어져있고 형식이 각각 다른 데이터들을 통일되고 중앙집중적으로 제공하는 것에 목적을 두고 있습니다. 빠른 개발을 위한 SDK를 배포하고 있으며 어떤 언어, 환경에서든 사용할 수 있도록 JSON 형식의 데이터 통신도 가능합니다.
DataGSM은 오픈 소스입니다. 활발하고 적극적인 기여가 실제 사용 경험을 만들고 더 강력한 시스템을 구축해나갑니다. 이는 DataGSM이 제공하는 모든 기능에 더불어 기존 신규 기능에도 포함됩니다.
DataGSM의 역사
DataGSM은 학교 데이터가 중앙화되지 않은 채 분산되어 관리되며, 오래된 데이터를 확보하고 유지하는 데 과도한 자원이 소모되는 문제에 대응하기 위해 시작되었습니다. 더모먼트팀은 각 서비스가 데이터를 개별적으로 수집·관리하는 구조가 서비스 개발자, 데이터 제공자, 그리고 실제 사용자인 학생 모두에게 불필요한 부담을 초래하고 있다고 판단하였고, 이러한 문제를 해결하기 위해 2025년 DataGSM 프로젝트를 공식적으로 시작하였습니다.
과거에도 유사한 시도는 존재했지만, 대부분 지속적인 운영에 실패해왔습니다. 더모먼트팀은 기존 사례들을 분석하여 반복적으로 드러난 실패 원인을 다음과 같이 정리하였습니다.
- 안정적인 클라우드 인프라의 부족
- 시스템 운영진 변경에 따른 인수인계 문제
- 지속적인 데이터 관리 체계의 부재
이러한 한계를 극복하기 위해 더모먼트팀은 AWS 기반의 고가용성 클라우드 인프라를 구축하였으며, 2021년부터 운영되어 온 더모먼트팀의 인수인계 규칙과 오픈소스 문화를 통해 시스템 운영의 연속성을 확보하였습니다. 또한 선생님들과의 협업과 오픈소스 문화의 전폭적인 도입을 통해 데이터 관리가 일회성으로 끝나지 않고 지속적으로 이루어질 수 있는 구조를 마련하였습니다.
DataGSM은 단순한 OpenAPI 제공에 그치지 않습니다. 2024년 서비스 운영 종료를 선언한 GAuth의 공백을 대체하기 위해, DataGSM이 보유한 학생 데이터를 기반으로 OAuth 인증 시스템을 구축하였습니다. 이를 통해 각 서비스가 개별적으로 계정을 생성하고 관리해야 하는 부담을 줄이고, 통합된 인증 경험을 제공하는 데 집중하고 있습니다.
DataGSM은 현재에 안주하지 않고 지속적인 개선과 확장을 목표로 합니다. 핵심 시스템뿐만 아니라 각 개발 환경에 특화된 SDK를 함께 관리하며, 모든 프로젝트는 독립적인 코드 저장소, 이슈 트래커, 릴리즈 주기를 갖습니다. 누구나 DataGSM의 발전에 기여할 수 있으며, 관련 코드는 themoment-team/repositories ↗에서 확인할 수 있습니다.
제공되는 기능
DataGSM은 다음과 같은 기능들을 제공합니다:
- 학생 데이터 OpenAPI
- 동아리 데이터 OpenAPI
- 프로젝트 데이터 OpenAPI
- 급식/학사일정 데이터 OpenAPI
- 학생 데이터 기반 OAuth 인증
DataGSM을 사용하면 교내 서비스 개발에 필요한 데이터를 신속하게 확보하고, 재학생 대상 인증 시스템을 효과적으로 구축할 수 있습니다.
피드백 및 기여
DataGSM은 오픈소스 프로젝트로서 커뮤니티의 피드백과 기여를 환영합니다.
사용 방법이나 시스템에 대한 질문은 각 프로젝트 저장소의 Discussions를 이용해 주십시오. 시스템에 문제가 있거나 새로운 기능을 제안하고 싶다면 해당 저장소의 Issues를 통해 제출해 주십시오.
개선 방안이나 버그 수정을 직접 제안하고 싶다면 Pull Request를 생성할 수 있습니다. 기여 전에 각 저장소의 기여자 행동 강령과 기여 가이드라인을 충분히 숙지하고, 관련 이슈 트래커에 작업 내용을 기록해 주십시오. 자세한 기여 방법은 각 프로젝트 루트 디렉터리의 CONTRIBUTING.md 문서를 참고하십시오.
빠른 시작
DataGSM을 처음 사용하는 경우 이 기술 문서에서 필요한 기능을 찾아 구현 방법을 확인하는 것을 권장합니다.
OpenAPI를 사용하려면 API 키 발급 페이지 ↗에서 필요한 권한 범위를 선택하여 API 키를 발급받으십시오. 발급된 API 키는 주기적인 갱신이 필요합니다. OAuth 인증 기능을 사용하려면 OAuth 클라이언트 관리 페이지 ↗에서 클라이언트를 생성하고, 발급받은 인증 데이터를 이용하여 서비스에 인증 시스템을 통합하십시오.
각 기능에 대한 상세한 설명과 사용 예시는 이 기술 문서의 각 섹션에서 확인할 수 있습니다.