[j]프로젝트
jieun / signal terminal
? help
페이지 탐색

Project summary / docshund

닥스훈트(Docshund)

개발 문서를 함께 번역하고 지식을 나누는 커뮤니티

visitor > GET /projects/docshund200 OK
← 프로젝트 목록

01 / 프로젝트 이해

공식 문서 공동 번역을 소개하고 번역문서·커뮤니티·헬프데스크 메뉴를 제공하는 닥스훈트 홈 화면
DOCSHUND / 공식 문서 공동 번역 서비스의 홈 화면

외국어 IT 공식 문서를 문단 단위로 함께 번역하고, 여러 기여 중 읽기 좋은 번역을 모아 제공하는 커뮤니티입니다.

개발 기간
2025.01 — 2025.02
팀 구성
6인 팀 · FE 3 / BE 3 (인프라 겸임 1)
기술 스택
Spring Boot · Python · MariaDB
제공 상태 ·
공개 저장소 · 소개 영상 제공

내 역할과 핵심 기여

백엔드 팀원으로 문서·원문·번역의 데이터 관계와 API, HTML 파싱, 베스트 번역 조회, 알림 이벤트·SSE 초기 연결과 메모 API를 구현했습니다.

  • 문서 전체 정보와 원본 문단·사용자 번역을 분리하고 원문 순서를 유지했습니다.
  • Spring Boot에서 Python 파서를 실행해 번역 가능한 HTML 요소를 추출했습니다.
  • 문단별 번역 선택과 좋아요 일괄 조회, 알림 생성·저장·전송을 연결했습니다.
전체 아키텍처문단 단위 번역 데이터와 HTML 처리 프로세스
  • React 웹

    문서·번역·메모 HTTP API · SSE 알림 · IndexedDB 원문 보관

API 요청 · SSE 구독

Spring Boot 백엔드

문서·원문·번역 API · 베스트 번역 조회 · 알림·메모

원문 처리 프로세스 실행 · 데이터 저장

  • Python · BeautifulSoup

    서버 내부 ProcessBuilder 실행 · HTML → 문단 JSON

  • MariaDB

    문서 → 원본 문단 → 번역 · 좋아요·메모·알림

내 담당: 문서·번역 API와 파싱·알림 초기 구현. SSE 최종 수정은 BE 팀원과 협업했으며 번역 뷰어·IndexedDB는 FE 담당 영역입니다.

구조·설계 판단 상세

02 / 구현과 문제 해결

HTML 원본을 번역 가능한 문단으로

  1. 01 · 관리자원본 등록

    문서 정보와 HTML 내용이 담긴 .txt 파일을 등록합니다.

  2. 02 · Spring Boot권한·파일 검사

    관리자 권한·빈 파일·확장자·중복을 확인합니다.

  3. 03 · Java → Python요소·순서 추출

    표준 입력의 HTML을 태그·내용·pOrder가 있는 JSON으로 반환합니다.

  4. 04 · Spring Boot → MariaDB문단 저장

    OriginDocument로 저장하고 사용자의 번역을 문단에 연결합니다.

Python은 별도 HTTP 서버가 아닌 서버 내부 처리 프로세스입니다. 원문의 순서와 개별 번역의 관계를 데이터에 남깁니다.

실행 흐름 상세
사용자 역할별 유스케이스
  • 관리자
    • 문서 정보·원본 등록
    • 등록 권한·중복 검사
  • 사용자
    • 문단별 번역 작성·조회
    • 번역 좋아요·알림 확인
    • 개인 메모 관리

CASE 01SSE 구독이 DB 연결을 오래 점유할 때

문제
오래 유지되는 구독과 새로고침 재연결이 DB 연결 풀 부족으로 이어졌습니다.
판단·대응
구독 메서드의 @Transactional을 제거했습니다. BE 팀원들과 인증 객체에서 사용자 ID를 읽도록 경로를 수정했습니다.
결과·한계
연결 유지에 필요한 사용자 식별과 알림의 DB 저장·조회를 분리했습니다. 원인 파악과 최종 수정은 팀원들과 함께 진행했습니다.
문제 해결 기록 읽기

CASE 02여러 번역을 원문 순서대로 읽게 하려면

문제
문단별로 기본 번역을 고르고 좋아요 정보를 함께 제공할 조회 기준이 필요했습니다.
판단·대응
공개 번역을 좋아요·작성 시각으로 정렬해 문단별로 선택하고, pOrder로 배치한 뒤 좋아요 목록을 일괄 조회했습니다.
결과·한계
원문 순서의 번역 응답을 구성했습니다. 정렬에는 팀원 수정도 반영됐으며, 기록의 수동 응답시간 관찰은 백엔드 단독 벤치마크가 아닙니다.
문제 해결 기록 읽기

구현한 범위와 남은 과제

긴 원문을 문단별 기여와 조회로 연결했습니다. 지정 HTML 태그를 추출하므로 문서 구조에 따른 파서 보완이 필요할 수 있습니다.

START_HERE.md

처음 오셨나요?

1 / 3

메뉴에서 가볍게 둘러봐요

상단 메뉴에서 소개, 기술스택, 프로젝트를 골라 이동할 수 있어요. 프로젝트는 요약부터 읽고, ‘기술 상세 읽기’로 상세 기록까지 살펴보세요.

화면 예시 · 실제 기능은 안내를 닫은 뒤 이용해 주세요.