Skip to content

LLM과 지식 그래프를 활용한 개인지식관리(PKM) 서비스, Personal Knowledge Management (PKM) service powered by LLM and Knowledge Graph

Notifications You must be signed in to change notification settings

01seok/SecondBrain

Repository files navigation

Second Brain

🔗지식을 저장하고 연결하여 사용하세요

지식을 노트로 저장하고 여러 디바이스에서 사용하여 개인의 지식을 활용할 수 있습니다. 크롬 익스텐션과 MCP를 통해 지식을 쉽게 저장하고 쉽게 꺼내어 연결된 지식과 인사이트를 얻으세요.

Second Brain 프로젝트는

정보과부화 시대에 정보들은 기억 속에서 사라지거나 메모장 어딘가에 묻혀버려 장기기억으로 전환되지 못한다는 문제의식에서 출발했습니다. 우리의 서비스는 LLM과 인터넷을 통해 얻은 지식과 정보를 저장하고 연결하여 지식을 구조화하고, 쉽게 꺼내쓰면서 마치 두 번째 뇌를 가진 것과 같은 경험을 하게 해줍니다.

  • 개발 기간 : 2025.10.02 ~ 2025.11.20 (7주)
  • 플랫폼 : Web & App & Chrome Extension & Wear OS
  • 개발 인원 : 6명


🔎 목차


📲 기능 구성

Web

메인화면
메인화면 탐색

지식 노트는 연관성에 따라 연결되어 시각화됩니다
노트는 저장되는 즉시 자동으로 관련 지식과 연결됩니다

기능 상세 보기
노트 작성
노트 수정
노트 삭제
노트 검색

Chrome Extension

크롬 익스텐션을 통해 웹에서 쉽게 정보를 저장하고 꺼내볼 수 있습니다

기능 상세 보기
드래그 기반 텍스트 저장
드래그 기반 텍스트 추가
전체 페이지 노트 저장

저장하고 싶은 정보를 드래그하여 context로 추가하거나 노트로 저장할 수 있고 URL 전체를 노트로 저장할 수 있습니다
URL과 내용을 파싱하여 LLM을 통해 정리하고 노트로 저장합니다


저장한 노트를 검색하고 내 Second Brain에 이미 저장되어 있는지 확인할 수 있습니다

노트 검색
드래그 텍스트 기반 노트 검색

추가로 어떤 내용을 저장할 것인지 익스텐션을 통해 관리할 수 있습니다

페이지 추가
이미 추가된 페이지일 경우
추가한 페이지 삭제 임시 노트 삭제

MCP

Second Brain을 LLM 서비스와 연결하여 지식을 생성하고 꺼내서 새로운 인사이트를 얻어보세요

기능 상세 보기
저장 요청하기
노트 생성
다중 노트 생성

저장 요청을 통해 새로 알게 된 지식이나 대화 내용을 요약하여 노트로 저장합니다


그래프 형성

저장된 노트는 관련성 있는 노트들과 자동으로 연결됩니다


노트 검색
노트 검색 결과

Graph 검색을 지원하여 LLM이 더 많은 context와 연결성을 이해하고 답변할 수 있습니다

Watch & Mobile

워치와 모바일에서 내가 저장한 노트를 자연어로 검색하고 확인할 수 있습니다

기능 상세 보기
검색 노트 검색 결과

검색 결과를 모바일에서 확인하고 스와이프를 통해 연관 노트를 계속해서 서칭할 수 있습니다


   
음성 검색
음성 검색 알림

🛠️ 기술 스택


🌕 Frontend

Vite React TypeScript
Shadcn UI Zod Zustand
TanStack Query TanStack Router Tailwind CSS

Category Version
React v18
Tailwind CSS v3(web) / v4(Chrome Extension)


🌑 Backend

Java Spring Boot JWT Spring Security
PostgreSQL Redis RabbitMQ
Elasticsearch Swagger OpenAI

Category Version
Java 17
Spring Boot 3.5.7
Elasticsearch 8.7.1

🤖 AI - Backend

Python FastAPI
Neo4j RabbitMQ
LangChain LangGraph OpenAI

Category Version
Python 3.13+

README-AI-Backend
README-MCP-Server



⚙️ DevOps

Docker AWS EC2 AWS S3
Jenkins Kibana Grafana Prometheus
Nginx Cloudflare n8n

Category Spec
Instance Type T2.XLARGE
CPU 4 vCPUs
RAM 16 GB
Storage (Disk) SSD: 320 GB, HDD: 6 TB
Docker v28.1.1
Docker Compose v2.38.2
Jenkins 2.520
Nginx nginx/1.18.0

🤝 Collaboration

GitLab Figma Notion Git Discord Jira


📂 프로젝트 구조도

S13P31E107/...
├─ backend/secondbrain/...
│  ├─ Dockerfile
│  └─ main.py
│
├─ agent-MCP/...
│  ├─ services/...
│  ├─ .env-example
│  └─ main.py
│
├─ knowledge-graph-service/...
│  ├─ app/...
│  ├─ Dockerfile
│  └─ main.py
│
├─ extension/...
│  ├─ src/...
│  ├─ Dockerfile
│  ├─ package.json
│  └─ README.md
│
├─ frontend/...
│  └─ secondbrain/...
│     ├─ Dockerfile
│     ├─ src/...
│     └─ package.json
│
├─ mobile_watch/...
│  └─ secondbrain/...
│     ├─ build.gradle.kts
│     ├─ mobile/...
│     │   ├─ src/...
|     │   └─ build.gradle.kts
│     └─ wear/...
│         ├─ src/...
|         └─ build.gradle.kts
│
└─ Deploy/...
   ├─ jenkins, grafana, nginx.../...
   ├─ docker-compose.yml
   └─ Jenkinsfile

🌐 시스템 아키텍처

🖧 System Architecture

🚀 Code Review Pipeline - n8n

Quick Review Deep Review
Main Workflow Quick Review Workflow Detail Review Workflow

📢 Collaboration & Event Notification

❌ Jenkins Pipeline Failure ✅ Jenkins Pipeline Success
🗨️ Jira Issue Notification 🔀 Merge Request Created Notification
Server Resource Notification - Fireing Server Resource Notification - Resolved

🌟 팀원 구성


이석재
(Team Leader & Backend)


김수민
(Backend)


노혜성
(Full Stack)

- Elasticsearch와 Neo4j를 결합한 하이브리드 검색 엔진(RRF) 및 병렬 처리 구현
- RabbitMQ 기반의 비동기 메시지 처리를 통한 데이터 파이프라인 구축 및 트랜잭션 최적화
- Spring Scheduler와 STOMP 프로토콜을 활용한 실시간 리마인더 및 알림 시스템 개발
- 모바일 앱 백엔드 연동
- 노트 CRUD, 다중 삭제 API 구현
- RabbitMQ 기반 리마인더 알림, 활성화 목록 조회 API 구현
- AWS S3 연결 및 파일 업로드 기능 구현
- 기능 단위 테스트 코드 작성
- 발표 스크립트 작성 및 발표
- Authorization Code Pattern 기반 JWT 인증 및 Redis Refresh Token 로테이션 구현
- Redis 기반 실시간 Draft 저장 시스템 구현 (멱등성 보장)
- 크롬 익스텐션 UI 개발
- 크롬 익스텐션: Shadow DOM 격리, Drag-to-Search, OAuth 2.0 New Tab 방식 구현
- Milkdown 에디터 통합, 성능 최적화 (3D UI, Vite)
- Docker 기반 로컬 개발 환경 구축

박진호
(Backend & AI)


김예나
(Frontend)


유정석
(DevOps)

- Neo4j 지식 그래프 연결 서비스 구현
- LLM을 활용해 자연어 동적쿼리 작성 Agent 구현
- 동적쿼리와 유사도 검색을 결합한 검색 Agent 구현
- URL & text context 파싱 및 요약 Agent 구현
- FastAPI를 활용해 Agent & Neo4j 로직 엔드포인트 제공
- Neo4j 그래프 연결 비동기 처리를 위한 RabbitMQ 이벤트 컨슈머 워커 구성
- LangChain/LangGraph를 활용한 전체 Agent 워크플로우 설계 및 구현
- 3D 그래프 시각화 및 인터렉션 구현
- Glass UI 공통 컴포넌트 개발 및 최적화
- 검색 기능 구현: 디바운싱, 무한 스크롤 적용을 통한 UX 최적화
- 무한 스크롤 성능 최적화 (Intersection Observer 활용)
- Android 앱 UX/UI 개발
- 서비스 전반 디자인 컨셉 수립
- 프로젝트 관리 및 문서화: Notion 기반 프로젝트 문서화, Jira 이슈 및 일정 운영
- Android 앱 개발: Retrofit을 이용한 REST API 연동, 음성 인식 및 검색 기능 구현
- Wear OS 앱 개발: Wear Compose UI 구현, 음성 인식(STT) 및 모바일 기기와의 데이터 동기화(Data Layer API)
- Blue/Green 무중단 배포 파이프라인 구축 및 자동 롤백 시스템 구현
- n8n 기반 AI 코드 리뷰 자동화 워크플로우 구축
- Prometheus & Grafana 기반의 서버 리소스 모니터링 대시보드 구축
- MR, Server Resource 관련 이벤트, 오류 등을 MatterMost를 통해 자동 알림 구현


📦 프로젝트 산출물

🖼️ 화면 설계서

✅ Swagger API Docs

자세히

About

LLM과 지식 그래프를 활용한 개인지식관리(PKM) 서비스, Personal Knowledge Management (PKM) service powered by LLM and Knowledge Graph

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 6