Project brief
프로젝트 내용
[프로젝트 개요]
- 두 개의 과업을 한 업체가 연속으로 수행하는 프로젝트입니다. 과업 A를 완료한 뒤 상호 협의를 거쳐 과업 B 계약으로 연계합니다.
- 과업 A: 현재 따로 운영 중인 교과서·참고서 사이트와 단행본 사이트를 하나의 도메인으로 통합하고, C# .NET MVC로 되어 있는 시스템을 Java Spring Boot로 재구축합니다.
- 과업 B: 별도로 운영 중인 수업지원자료실 사이트의 상시 유지보수와 고도화입니다. 과업 A 완료 직후 이어서 진행합니다.
- 과업 A의 가장 큰 목적은 개발 언어 전환입니다. C# 기반을 벗고 저희가 이미 사용 중인 Java Spring Boot로 스택을 통일하려 합니다. 도메인 통합이 그다음 목적입니다.
- 사이트 자체의 볼륨은 크지 않습니다. 대규모 신규 개발이 아니라 기존 기능을 옮기면서 몇 가지 구조를 개편하는 작업입니다.
- 현행 사이트
교과서: https://textbook.changbiedu.com/
단행본: https://books.changbiedu.com/
수업지원자료실: https://class.changbiedu.com/
[클라이언트 소개]
- 교육 출판사입니다. 교과서·참고서, 단행본, 그리고 교사용 수업지원자료실 사이트를 운영합니다.
- 프로젝트 의사결정 구조: 실무 담당자가 요구사항 전달, 파트너 문의 응대, 검수를 직접 담당합니다.
- 개발 지식: 담당자가 프론트엔드 개발과 화면 기획을 직접 수행할 수 있습니다. 백엔드도 이해하고 있으나 이번 과업 A는 언어가 다르므로 지원만 합니다. 기술 논의가 가능한 상대라고 보셔도 됩니다.
[왜 이 프로젝트를 하는가]
- 지금 상황: 교과서·참고서와 단행본이 각각 다른 도메인에서 따로 운영되고, 시스템은 C# MVC에 Windows Server 2016 환경입니다. 반면 수업지원자료실은 React + Java Spring Boot 환경입니다. 스택이 둘로 나뉘어 있습니다.
- 끝나면 이렇게 되기를 바랍니다: 세 사이트의 스택이 Java Spring Boot로 통일되고, 교과서와 단행본이 하나의 도메인에서 통합 검색됩니다. 작가와 카테고리를 한 곳에서 관리하고, 자료를 여러 도서에 연결해 노출을 제어할 수 있는 상태입니다.
- 다만 이런 점이 우려됩니다: 두 가지입니다. 첫째, 기존 도메인 기준으로 인쇄된 QR 코드가 이미 배포되어 있어 신규 통합 도메인으로의 301 리다이렉트가 반드시 정상 작동해야 합니다. 둘째, 서버는 네이버 클라우드이고 관리를 별도 파트너사에 맡겨 두었습니다. 통합 도메인 하나를 쓰기 위해 로드밸런서를 붙여야 하므로, 그 클라우드 파트너사와 원활하게 소통할 수 있는지가 중요합니다.
[필수 과업 범위와 결과물]
1. 과업 A — 교과서·참고서·단행본 사이트 통합 및 아키텍처 개편
1-1. 수행 범위
- As-Is 분석: 기존 C# MVC 환경의 화면, 비즈니스 로직, DB 객체(스키마·프로시저·트리거) 분석 및 기능 목록 도출
- To-Be 설계 및 재구축: Spring Boot + Thymeleaf 기반 시스템 설계와 개발
- DB 스키마 개편: 추가 기능 반영과 다중 매핑 구조 지원을 위한 스키마·ERD 변경 설계
1-2. 이용자 페이지
- 통합 검색 기능 개선·신규: 단일 검색창에 키워드를 입력하면 도서명·작가명·시리즈를 동시에 조회하고, 교과서·참고서·단행본을 구분해 표시합니다. GET 방식으로 전환해 뒤로가기 경고창 문제를 해결하고 검색 결과 URL 공유를 지원합니다.
- 도서 연동 자료 다운로드: 개별 도서 상세 페이지에서 수록 자료를 다운로드할 수 있도록 합니다.
- 독서 교육 제안 페이지 신설: 자료 중심의 카드 UI, 하나의 자료를 여러 도서에 연동, 목록 내 검색을 포함합니다.
1-3. 관리자 페이지
- 작가 및 카테고리 연동 구조 통합: 작가 마스터 DB를 통합 관리하고, 도서-작가 N:M 수동 매핑과 도서-카테고리(장르) N:M 다중 매핑 구조를 구축합니다.
- 도서 연동 자료 관리와 메인 노출 제어: 자료를 독립적으로 등록하고 도서와 N:M으로 매핑합니다. 메인과 자료실 노출은 자동 최신순에 더해 수동 상단 고정과 순서 제어가 가능해야 합니다.
- 게시판 관리 기능 개선·신규: 관리자가 게시판 유형(일반형, 갤러리형, 파일 다운로드 전용 등)을 유연하게 선택하고 생성할 수 있는 구조를 구축합니다.
1-4. QR 코드 및 URL 호환성 보장
- 기존 도메인(textbook, books) 기준으로 인쇄된 QR 코드의 접속 요청을 신규 통합 도메인으로 301 리다이렉트 연동합니다. 이미 인쇄되어 배포된 자료가 있어 이 항목이 과업 A에서 가장 중요합니다.
1-5. 인프라 및 비기능 요구
- 개발 표준: Spring Boot + Thymeleaf
- OS 전환: Windows Server 2016에서 Linux(Ubuntu 20.04 또는 22.04 LTS 이상)로 전환
- 네이버 클라우드 플랫폼(NCP) 환경입니다. 서버 관리를 담당하는 저희 클라우드 파트너사와 협업해 ALB 설정과 301 리다이렉트 검증을 수행해야 합니다.
1-6. 마이그레이션 및 서비스 전환
- 수록 자료와 제공 예정인 작가 목록(CSV) 데이터의 초기 마이그레이션 및 정합성 검증
- 단계별 전환: 1차로 단행본을 이관·전환한 뒤, 2차로 교과서·참고서를 이관·통합합니다. 도메인별 점진 전환 방식입니다.
- 기존 DB는 MySQL입니다. 신규 서버로 데이터를 이관할지 기존 DB를 그대로 연결해 사용할지는 아래 '아직 정하지 않은 범위'를 참고해 의견 주세요.
1-7. 과업 A에서 제외하는 것
- 디자인과 화면 기획, HTML·CSS 퍼블리싱은 저희가 직접 수행해 전달합니다. UI/UX 작업은 과업 범위에서 제외합니다.
- 메인 페이지 UI/UX 개선도 저희가 진행합니다.
2. 과업 B — 수업지원자료실 상시 유지보수 및 고도화
2-1. 기술 환경
- 프론트엔드: React 기반 UI/UX 컴포넌트 구조
- 백엔드: Java Spring Boot
- DB: MySQL
- 기존 백엔드 API와 서버 환경을 유지하며 연동합니다.
2-2. 수행 범위
- 사이트 기능 개선과 상시 유지보수
- 오픈 당시 일정이 촉박해 미흡하게 남은 기능의 보완과 고도화
- 신규 게시판 컴포넌트 추가 생성과 자료실 화면 구조 개편
- 수업 자료 관리, 검색, 다운로드 관련 편의 기능 고도화
- 세부 과업은 계약 후 협의하여 진행합니다. 월 단위로 할당된 리소스 안에서 요청 사항의 우선순위와 완료 시점을 조율하는 방식을 전제로 합니다.
3. 결과물
- 전체 소스코드
- As-Is 분석 결과와 기능 목록
- 변경된 DB 스키마와 ERD
- 301 리다이렉트 검증 결과
[아직 정하지 않은 범위]
- 아래는 저희가 확정하지 못한 항목입니다. 어느 쪽을 권하시는지와 비용 차이를 의견과 함께 적어 주세요.
1. DB 처리 방식 — 기존 MySQL DB를 그대로 연결해 사용하는 방식과 신규 서버로 이관하는 방식 중 어느 쪽이 적절한지 의견 주세요. 저희는 기존 DB를 그대로 쓰는 쪽을 생각하고 있었으나, 스키마 개편 범위를 고려하면 판단이 필요하다고 봅니다.
2. 과업 A와 과업 B 사이의 계약 구조 — 과업 A 완료 후 협의를 거쳐 과업 B로 연계할 예정입니다. 계약을 한 번에 묶는 편이 나은지 단계를 분리하는 편이 나은지 의견 주세요.
3. 과업 B의 월 투입 리소스 기준 — 월 할당 리소스를 초과하는 요청의 정산 방식에 대한 제안을 적어 주세요.
[클라이언트 준비 사항]
- 준비된 것: 현행 세 사이트 운영 중, 작가 목록 CSV 데이터, 클라우드 서버 관리 파트너사와의 협업 체계
- 저희가 직접 수행하는 것: 디자인, 화면 기획서, HTML·CSS 퍼블리싱
- 이 프로젝트 담당: 실무 담당자 1명이 요구사항 전달과 검수를 맡고, 프론트엔드와 화면 기획을 직접 수행합니다.
[오픈 시점과 예산]
- 총 기간 약 15개월입니다. 기간과 세부 일정은 협의 가능합니다.
- 과업 A: 2026년 11월 ~ 2027년 3월 (약 5개월)
- 과업 B: 2027년 4월 ~ 2028년 1월. 통합 리뉴얼 직후 이어서 진행하되, 2028년 새학기 개강 전까지 고도화를 마무리하는 것이 목표입니다.
- 예산
과업 A: 2,000만원
과업 B: 연 1,800만 ~ 2,400만원 (월 150만 ~ 200만원 수준)
[제안 포함 필수 사항]
- 지원 내용은 아래 기준으로 검토합니다.
1. C# .NET에서 Java Spring Boot로 전환한 경험을 담당 범위와 함께 적어 주세요. 레거시 시스템 분석과 재구축 실적이 있으면 포함해 주세요.
2. 네이버 클라우드 플랫폼 환경 경험과, 서버 관리를 담당하는 외부 파트너사와 협업해 로드밸런서·리다이렉트를 설정한 경험을 적어 주세요. 저희가 가장 중요하게 보는 항목입니다.
3. 이미 인쇄되어 배포된 QR 코드의 301 리다이렉트 호환성을 어떻게 보장하고 검증하실지 적어 주세요.
4. 과업 A 2,000만원 범위에서 위 과업 중 어디까지를 어떤 수준으로 수행할 수 있다고 보시는지, 근거와 함께 적어 주세요. 조정이 필요하다고 보시는 항목이 있으면 이유와 함께 알려 주세요.
5. 과업 A와 과업 B를 연속으로 수행할 수 있는지, 과업 B의 월 투입 인력 구성과 운영 방식을 적어 주세요. 단순 유지보수가 아니라 고도화 개발이 포함됩니다.
6. 단계별 일정과 착수 가능일을 적어 주세요. 단행본 1차 전환, 교과서·참고서 2차 전환의 순서를 전제로 합니다.
7. 위 '아직 정하지 않은 범위' 각 항목에 대한 의견과, 공고만으로 판단이 어려워 확인이 필요한 부분을 적어 주세요.