Project는 Overleaf의 단일 LaTeX 프로젝트를 나타냅니다. 프로젝트 메타데이터, 소유권과 접근 제어, 파일 구조, 컴파일 설정, 협업 상태를 저장합니다.
핵심 식별 정보 및 메타데이터
_id: 프로젝트를 식별하는 고유한 MongoDB ObjectId입니다.name: 프로젝트 표시 이름입니다.description: 프로젝트에 대한 선택적 텍스트 설명입니다.active: 프로젝트가 현재 활성 상태인지 여부를 나타냅니다.version: 내부 스키마 또는 프로젝트 형식 버전입니다.trashed: 휴지통으로 이동된(소프트 삭제된) 항목 목록입니다.deletedDocs: 영구 삭제된 문서의 기록입니다.
소유권 및 접근 제어
owner_ref: 프로젝트를 소유한 사용자에 대한 참조입니다.collaberator_refs: 편집 권한이 있는 사용자입니다.reviewer_refs: 리뷰어 수준의 접근 권한이 있는 사용자입니다.readOnly_refs: 읽기 전용 접근 권한이 있는 사용자입니다.pendingEditor_refs/pendingReviewer_refs: 대기 중인 초대입니다.
토큰 기반 접근
tokens: 공유 링크용 토큰 레지스트리입니다.tokenAccessReadOnly_refs: 읽기 전용 접근을 부여하는 토큰입니다.tokenAccessReadAndWrite_refs: 읽기–쓰기 접근을 부여하는 토큰입니다.
활동 추적
lastUpdated: 가장 최근 수정 시각입니다.lastUpdatedBy: 마지막으로 업데이트한 사용자입니다.lastOpened: 프로젝트를 마지막으로 연 시각입니다.deletedByExternalDataSource: 외부 통합에 의해 삭제가 트리거되었는지 여부입니다.
프로젝트 구조
루트 문서 및 폴더rootDoc_id: 메인 LaTeX 진입 문서(일반적으로main.tex)의 ObjectId입니다.rootFolder: 프로젝트 파일 트리의 인라인 표현입니다.
name/_id: 폴더 이름과 식별자입니다.docs: 이름과_id를 가진 LaTeX 소스 문서 목록입니다.fileRefs: 바이너리 파일 참조(이미지, 데이터 파일)로, 다음을 포함합니다.name: 파일 이름created: 업로드 시각rev: 리비전 카운터hash: 중복 제거를 위한 콘텐츠 해시linkedFileData: 외부 스토리지 연결 정보(있는 경우)
folders: 중첩된 하위 폴더입니다.
컴파일 및 편집기 설정
compiler: 선택된 LaTeX 엔진(pdflatex,xelatex,lualatex등)입니다.spellCheckLanguage: 이 프로젝트의 맞춤법 검사 언어입니다.
공개 및 공유 설정
publicAccesLevel: 프로젝트 공개 범위(private,readOnly,public등)입니다.collabratecUsers: 외부 협업 플랫폼에서 연결된 사용자입니다.
Overleaf 전용 확장
overleaf.history:id: 히스토리 서비스에서 사용하는 식별자입니다.display: 히스토리가 활성화되어 표시되는지 여부입니다.
내부 버전 관리
__v: 동시성 제어를 위한 Mongoose 내부 버전 키입니다.
프로젝트 예시
프로젝트 예시

