Commit Graph

59 Commits

Author SHA1 Message Date
Hyungi Ahn
5bfa3822ca fix: 하이라이트/메모 API 오류 및 플로팅 메모창 문제 해결
🐛 버그 수정:
- InstrumentedList 오류 해결: highlight.notes 리스트 접근 방식 수정
- this.filterMemos 함수 스코프 오류 해결: this 컨텍스트 안전 처리
- 하이라이트 API에서 메모 관계 로딩 추가 (selectinload)
- 플로팅 메모창 showFloatingMemo 변수 인식 문제 해결

🛠️ 개선사항:
- 안전한 함수 호출: typeof 체크 및 대체 로직 추가
- 하이라이트 응답에 연관된 메모 데이터 포함
- 캐시 버스팅 버전 업데이트 (v2025012227)
- 디버깅 로그 추가로 문제 진단 개선

 결과:
- 하이라이트와 메모가 정상적으로 표시됨
- 플로팅 메모창이 올바르게 작동함
- API 500 오류 해결로 데이터 안전성 확보
2025-08-25 07:27:24 +09:00
Hyungi Ahn
c7f55ac50d feat: 플로팅 메모창 구현 및 문서 삭제 기능 안정화
 새로운 기능:
- 플로팅 메모창: 드래그 가능한 독립적인 메모/하이라이트 창
- 크기 조절: 마우스로 창 크기 자유롭게 조정
- 위치 이동: 헤더 드래그로 원하는 위치에 배치
- 메모 검색: 실시간 메모 내용 검색 및 필터링
- 하이라이트 이동: 메모창에서 문서 내 하이라이트 위치로 스크롤

🛠️ 개선사항:
- 문서 삭제 안정화: 외래키 제약조건 해결 (Note->Highlight->Document 순서)
- 레이아웃 개선: 문서 뷰어가 전체 화면 사용 가능
- 사용자 경험: 사이드바 대신 플로팅 윈도우로 더 유연한 UI
- 캐시 버스팅: JavaScript 파일 버전 관리 개선

🐛 버그 수정:
- 중복 스크립트 로드 문제 해결
- 하이라이트 메모 업데이트 API 오류 수정
- 문서 삭제 시 500 에러 해결
2025-08-23 15:00:01 +09:00
Hyungi Ahn
46546da55f feat: 계층구조 뷰 및 완전한 하이라이트/메모 시스템 구현
주요 기능:
- 📚 Book 및 BookCategory 모델 추가 (서적 그룹화)
- 🏗️ 계층구조 뷰 (Book > Category > Document) 구현
- 🎨 완전한 하이라이트 시스템 (생성, 표시, 삭제)
- 📝 통합 메모 관리 (추가, 수정, 삭제)
- 🔄 그리드 뷰와 계층구조 뷰 간 완전 동기화
- 🛡️ 관리자 전용 문서 삭제 기능
- 🔧 모든 CORS 및 500 오류 해결

기술적 개선:
- API 베이스 URL을 Nginx 프록시로 변경 (/api)
- 외래키 제약 조건 해결 (삭제 순서 최적화)
- SQLAlchemy 관계 로딩 최적화 (selectinload)
- 프론트엔드 캐시 무효화 시스템
- Alpine.js 컴포넌트 구조 개선

UI/UX:
- 계층구조 네비게이션 (사이드바 + 트리 구조)
- 하이라이트 모드 토글 스위치
- 완전한 툴팁 기반 메모 관리 인터페이스
- 반응형 하이라이트 메뉴 (색상 선택)
- 스마트 툴팁 위치 조정 (화면 경계 고려)
2025-08-23 14:31:30 +09:00
Hyungi Ahn
1e2e66d8fe 📝 Add: 업로드 파일들을 gitignore에 추가
- 개발 중 업로드된 HTML 문서들 제외
- 배포 시 깨끗한 상태 유지
2025-08-22 09:58:50 +09:00
Hyungi Ahn
c0ea76dc2e Feat: 프론트엔드 하이라이트 & 메모 시스템 완성
- viewer.js: 텍스트 선택 → 하이라이트 생성 기능 구현
- viewer.js: 하이라이트 클릭 시 말풍선 UI로 메모 관리
- viewer.js: 다중 메모 지원, 실시간 메모 추가/삭제
- api.js: 하이라이트, 메모, 책갈피 API 함수 추가
- main.js: 문서 업로드 후 자동 새로고침, 뷰어 페이지 이동
- HTML: 인라인 SVG 파비콘 추가, 색상 버튼 개선

 하이라이트 생성/삭제 기능 완성
 메모 추가/편집 기능 완성
 말풍선 UI 구현 완성
 Alpine.js 컴포넌트 간 안전한 통신
2025-08-22 09:58:38 +09:00
Hyungi Ahn
edfabdac23 🐛 Fix: 백엔드 500 오류 해결 및 배포용 도커 설정 완성
- Dockerfile: Poetry 대신 직접 pip 설치로 의존성 문제 해결
- highlights.py: UUID 임포트 추가, 들여쓰기 오류 수정, 1:N 관계 지원
- notes.py: Pydantic v2 호환성 수정, 다중 메모 지원
- models: highlight-note 관계를 1:1에서 1:N으로 변경
- docker-compose.yml: 배포용 환경변수 설정

 로그인 API 정상 작동 확인
 나스/맥미니 배포 준비 완료
2025-08-22 09:58:23 +09:00
Hyungi Ahn
54798c5919 docs: README 업데이트 - 현재 상태 및 완료된 개발 단계 정리
- Phase 5-6 완료 상태로 업데이트
- 현재 상태 섹션 추가 (완료된 기능, 테스트 가능한 기능, 실행 중인 서비스)
- 개발 진행 상황 명확히 문서화
2025-08-22 06:43:53 +09:00
Hyungi Ahn
a42d193508 feat: 완전한 문서 업로드 및 관리 시스템 구현
- 백엔드 API 완전 구현 (FastAPI + SQLAlchemy + PostgreSQL)
  - 사용자 인증 (JWT 토큰 기반)
  - 문서 CRUD (업로드, 조회, 목록, 삭제)
  - 하이라이트, 메모, 책갈피 관리
  - 태그 시스템 및 검색 기능
  - Pydantic v2 호환성 수정

- 프론트엔드 완전 구현 (Alpine.js + Tailwind CSS)
  - 로그인/로그아웃 기능
  - 문서 업로드 모달 (드래그앤드롭, 파일 검증)
  - 문서 목록 및 필터링
  - 뷰어 페이지 (하이라이트, 메모, 책갈피 UI)
  - 실시간 목록 새로고침

- 시스템 안정성 개선
  - Alpine.js 컴포넌트 간 안전한 통신 (이벤트 기반)
  - API 오류 처리 및 사용자 피드백
  - 파비콘 추가로 404 오류 해결

- 포트 구성: Frontend(24100), Backend(24102), DB(24101), Redis(24103)
2025-08-22 06:42:26 +09:00
Hyungi Ahn
3036b8f0fb 🎉 Initial commit: Document Server MVP
 Features implemented:
- FastAPI backend with JWT authentication
- PostgreSQL database with async SQLAlchemy
- HTML document viewer with smart highlighting
- Note system connected to highlights (1:1 relationship)
- Bookmark system for quick navigation
- Integrated search (documents + notes)
- Tag system for document organization
- Docker containerization with Nginx

🔧 Technical stack:
- Backend: FastAPI + PostgreSQL + Redis
- Frontend: Alpine.js + Tailwind CSS
- Authentication: JWT tokens
- File handling: HTML + PDF support
- Search: Full-text search with relevance scoring

📋 Core functionality:
- Text selection → Highlight creation
- Highlight → Note attachment
- Note management with search/filtering
- Bookmark creation at scroll positions
- Document upload with metadata
- User management (admin creates accounts)
2025-08-21 16:09:17 +09:00