Project brief
프로젝트 내용
[프로젝트 개요]
- 한글 파일에 하나씩 만들어 흩어져 있는 수학 문항을, 한 곳에 입력하면 분류·검색·재사용까지 되는 웹 시스템으로 옮깁니다. 관리자 한 명이 사용하는 관리자 웹과 콘텐츠 데이터베이스를 신규로 구축하며, 학생용 화면·회원가입·결제·응시·결과 분석은 이번 범위에 포함하지 않습니다. 앞으로 수천 건 이상 쌓일 콘텐츠의 데이터 구조를 제대로 설계하는 것이 이번 프로젝트의 목적입니다.
[클라이언트 소개]
- 인천 송도에서 수학 학원을 운영하며 수학 교육 콘텐츠를 직접 제작하고 있습니다. 이 시스템의 사용자는 콘텐츠를 직접 입력하는 대표 한 명이고, 1차로 수천 건 이상의 문항을 쌓을 예정입니다.
- 프로젝트 의사결정 구조: 현재 개인 사업자로 대표가 요구사항 및 의사결정을 확정합니다.
- 개발 지식: 사내에 개발자나 전산 담당자가 없습니다. 기술 선택과 데이터 구조 판단은 파트너님 제안에 의존합니다.
[왜 이 프로젝트를 하는가]
- 지금 상황: 문제를 한글에서 만들고 있습니다. 수식은 분수 하나를 넣는 데도 표기를 외워 타이핑해야 하고, 만든 문제는 파일 단위로 흩어져 있어 어느 단원에 몇 문항이 있는지 세어 볼 방법이 없습니다. 다른 도구에서 계속 만들어 두면 나중에 시스템으로 옮기며 같은 일을 두 번 하게 되는데, 앞으로 쌓을 분량이 수천 건 이상이라 그 재작업을 감당할 수 없다는 것이 지금 구조부터 만들려는 이유입니다.
- 끝나면 이렇게 되기를 바랍니다: 문제를 만드는 곳과 문제가 쌓이는 곳이 같아집니다. 수식은 기호 버튼을 눌러 넣고, 만든 문항은 단원과 태그로 바로 찾아 다시 씁니다. 옮겨 적는 일이 사라집니다.
- 다만 이런 점이 우려됩니다: 완성한 뒤에 콘텐츠를 운영하면서 개발사에 의존하게 되는 구조가 가장 걱정입니다. 문항을 추가하거나 화면에 보이는 글씨 크기와 배치를 바꿀 때마다 개발자에게 요청해 코드를 고쳐야 한다면 이 시스템을 만드는 의미가 없습니다. 사내에 개발 인력이 없어 그런 상태가 되면 되돌리기도 어렵습니다.
[필수 과업 범위와 결과물]
1. 수행 범위
- 상세 기획: 콘텐츠 데이터 구조 설계, 콘텐츠와 화면 표시의 분리 구조 설계, 4단계 분류 체계와 태그·속성 규격, 객관식 문항·정답 데이터 규격, 수식·이미지 저장 형식 정의. 현재 기획 문서가 없어 기획부터 진행합니다.
- UI·UX 디자인: 관리자 화면 전체
- SW 개발: 관리자 웹, 콘텐츠 데이터베이스, 수식 입력기, 도형·그래프 작도 도구, 문항 표시 형식 공통 관리.
- 인프라 구축·배포: 서버 구성, 배포, 데이터 백업. 클라우드 계정과 도메인은 저희 명의로 생성해 주세요.
- 유지보수: 오픈 후 3개월 하자보수
2. 상세 기능 요구 사항
2-1. 콘텐츠 데이터 구조
- 확장 구조 설계: 문항, 선택지, 정답, 수식, 이미지, 분류, 태그를 분리해 저장하는 데이터 구조 설계 (문항 수천 건 이상 축적 전제)
- 콘텐츠와 화면 표시 분리: 문항 내용과 표시 형식을 분리 저장, 표시 형식을 바꿔도 기존 문항 수정 불필요
- 확장 대비 설계: 이후 결제·응시 서비스가 붙을 때 구조 변경 없이 연결 가능한 데이터 설계
2-2. 콘텐츠 입력·저작
- 수식 입력: 분수, 루트, 지수, 함수, 적분 기호 등을 기호 버튼 클릭으로 입력 (표기법 직접 타이핑 없이)
- 수식 저장·표시: 입력한 수식의 저장 형식 정의 및 화면 재현
도형·그래프 작도: 좌표평면, 함수 그래프, 기하 도형 생성 및 문항 삽입
- 이미지 등록: 이미지 파일 업로드, 정리, 다른 문항에서의 재사용
- 객관식 문항 입력: 문제 본문, 선택지, 정답 입력 (문항 유형은 객관식만)
- 미리보기: 학생에게 보이는 형태 그대로 확인
2-3. 문항 표시 형식 관리
- 표시 형식 공통 설정: 글꼴, 글자 크기, 줄 간격, 문항 배치를 한 곳에서 설정
- 일괄 반영: 설정을 바꾸면 이미 입력된 전체 문항에 적용 (개발사 호출 없이 관리자 직접 수정)
2-4. 분류·검색·콘텐츠 관리
- 4단계 분류 체계: 과목/대분류/중분류/소분류 등록, 순서 변경, 이동
- 복수 태그·속성 설정: 문항별 복수 태그 부여 및 태그 기준 조회
- 통합 검색·필터: 분류, 태그, 문제 본문 기준 검색
- 콘텐츠 복사·수정: 기존 문항을 복사해 변형 출제
- 활성화·비활성화: 문항 활성 상태 관리 및 변경 이력 (삭제하지 않고 감추는 방식)
2-5. 관리자 접속·운영 환경
- 관리자 로그인: 단일 관리자 계정 로그인 및 계정 설정
- 서버 구성·배포: 운영 서버 구성, 배포, 데이터 백업
3. 결과물
- 전체 소스코드
- 콘텐츠 DB 스키마 및 데이터 사전
- 콘텐츠와 표시 형식의 분리 구조 정의서
- 요구사항 정의서, 화면 설계서
- 향후 서비스 연동 규격서
- 운영 매뉴얼 (문항 입력, 분류 관리, 표시 형식 변경 절차 포함)
[아직 정하지 않은 범위]
아래는 저희가 확정하지 못한 항목입니다. 포함하는 편이 나은지, 뺀다면 나중에 어떻게 붙일 수 있는지를 의견과 함께 적어 주세요.
- 추후 결제 기능을 붙이고, 학생들이 휴대폰과 태블릿으로 개별 접속해 문제를 푸는 서비스로 넓힐 계획입니다. 나아가 다른 학원도 각자 콘텐츠를 쌓아 쓰는 SaaS 형태로 확장할 가능성도 열어 두고 있습니다. 이번에는 그 기능들을 만들지 않지만 나중에 처음부터 다시 만드는 일이 없도록 콘텐츠 데이터 구조에 자리를 잡아 두려 합니다. 설계 시 이 확장을 고려해 주세요
[클라이언트 준비 사항]
- 준비된 것: 수학 콘텐츠 분류 기준(과목·단원 체계) 초안, 현재 한글로 작성 중인 문항 샘플. 이관할 과거 데이터는 없으며 모든 문항을 새 시스템에서 처음부터 입력합니다.
- 준비 중인 것: 태그·속성 항목 확정본, 문항 표시 형식(글꼴·크기·배치) 기준안.
- 이 프로젝트 담당: 대표 1명이 요구사항 확정과 검수를 모두 맡습니다. 사내 전산 담당자는 없습니다.
- 클라우드 서버와 도메인은 아직 없습니다. 저희 명의로 생성해 주시고 월 이용료는 저희가 부담합니다.
[오픈 시점과 예산]
- 희망 착수: 약 3개월
- 예산: 2,000만원 이내 (부가세 별도)
[제안 포함 필수 사항]
지원 내용은 아래 기준으로 검토합니다.
1. 기술 스택 제안 — 이 프로젝트에 적합한 기술 스택과 그 선택 이유를 적어 주세요. 특히 대량 콘텐츠 관리에 적합한 DB 구조에 대한 의견과, 수학 수식 입력·표시를 어떤 방식으로 구현하실지 함께 적어 주시면 좋겠습니다. 저희 쪽에 개발자가 없으므로 비개발자가 이해할 수 있는 수준으로 적어 주시면 도움이 됩니다.
2. 완료 기준에 대한 전문가 의견 — 어떤 부분이 완료되어야 이 프로젝트가 성공적으로 마무리되었다고 보시는지 적어 주세요.
3. 아직 정하지 않은 범위에 대한 의견과 별도 견적 — 포함하는 편이 나은지, 뺀다면 나중에 어떻게 붙일 수 있는지 적어 주세요. 각 항목은 기본 범위에 섞지 말고 별도 견적으로 나누어 적어 주세요. 공고만으로 판단이 어려워 확인이 필요한 부분도 함께 적어 주세요.
4. 개발이 끝난 뒤 저희가 개발사 도움 없이 콘텐츠를 운영할 수 있는 구조를 어떻게 만드실지 제안에 포함해 주세요. 문항 추가와 수정, 화면 표시 형식 변경을 저희가 직접 하는 것이 이 프로젝트의 목적이라 이 부분을 특히 중요하게 보고 있습니다.
5. 포트폴리오와 경험 — 유사한 CMS, 문제은행, LMS 등 많은 콘텐츠를 구조화해 저장하고 관리하는 시스템을 설계해 보신 경험을 적어 주세요. 미팅 때는 실제로 구현된 화면을 직접 보고 싶습니다. 만드셨던 결과물이나 이번 프로젝트의 문항 입력 화면 시안을 준비해 주시면 좋겠습니다.