# Motivation for development - 군대에서 알고리즘을 공부하면서 `Obsidian`에 해당 내용들을 정리하기 시작했다. - 알고리즘 특성 상 서로 연관되어 있는 경우가 많다 보니, 실제로 내가 정리한 알고리즘을 찾아볼 때 해당 문서를 찾고 검색하는 과정이 복잡하고 귀찮았다. - 또한 `Obsidian`에 정리한 내용들이 점점 많아지면서 이것들을 따로 정리 및 요약하고 하는 기능을 만들고 싶어졌다. - 그래서 내가 직접 파일을 찾는게 아나라, 인터넷에 검색하는 것처럼 내 문서를 바탕으로 한 검색 엔진 기능과 해당 파일들을 정리 해줄 수 있는 프로그램을 만들어야겠다고 생각했다. # Project Goals(MVP) - [[LangChain Introduction|LangChain]]과 [[Crew]]을 이용해 파일 검색 기능을 만든다. - 키워드를 입력 받고 해당 키워드에 해당되는 문서를 찾는 기능을 만든다. - 문서 안의 개념을 이해 할 수 있도록 하는 도와주는 다른 파일들을 찾는 기능을 만든다. - 키워드에 맞는 문서의 내용을 요약하는 기능을 만든다. - 키워드의 맞는 문서의 개념 이해도를 체크할 수 있는 퀴즈 기능을 만든다. - 불러온 파일들을 `LLM`에게 전달하여 관련 문서들에 대해 검색할 수 있는 채팅 기능을 만든다. - [[Streamlit]]을 사용해 UI를 구현하고 이를 Stream Cloud로 배포한다. ## Development journal ### Format Goal : 초기 목표 TODO : 해야 할 내용 Issue/Solution : 발생했던 이슈와 해당 이슈의 해결 방안 Reference : 참고 자료 Git commit contents : 개발 내용 What should I do more : 다음 목표 ### Dates - [[2025-01-06]] - [[2025-01-07]] - [[2025-01-10]] - [[2025-01-11]] - [[2025-01-12]] - [[2025-01-14]] - [[2025-01-15]] - [[2025-01-16]] - [[2025-01-17]] - [[2025-01-18]] - [[2025-01-19]] ## Project Architecture ![[DocumentSecretary Architecture Dark.svg]] ## Service Screenshot ### 메인 화면 ![[home screen.png]] ### 키워드에 관련된 파일 검색 ![[file selecting screen.png]] ### 불러온 파일 목록 ![[file list screen.png]] ### 관련 파일 선택 ![[file select option screen.png]] ### 문서 요약 ![[document summary screen.png]] ### 채팅 ![[question message srceen.gif]] ### Quiz ![[quiz make screen.png]] ![[quiz list screen.png]] ## Next Goal - 패드나 핸드폰으로 정리한 파일도 불러올 수 있도록 구현하기 - `Notion` 같은 사이트를 기반으로 한 정보 받기 - 관련 문서, 관련 이미지 받기를 `Obsidian` 이외의 파일에도 사용 가능 하도록 구현하기 - `AWS`로 프로젝트 배포하기