프로젝트 소개

finPal은 오픈 소스 셀프 호스팅 개인 재무 애플리케이션으로, 유지 관리자는 추적이나 데이터 판매, 셀프 호스팅 버전의 구독료가 없는 "개인 정보 보호 우선 재무 관리"라고 설명합니다. 이 프로젝트는 AGPL-3.0 라이선스로 게시되었으며, README에는 기능, API 및 데이터베이스 스키마가 빈번하게 변경되는 주요 활성 개발 단계에 있으므로 업그레이드 전 백업이 권장된다고 명시되어 있습니다. 해결하려는 문제 한 달 동안 돈이 어디로 나갔는지에 대한 일상적인 질문을 중심으로 구성되었습니다. 입증된 기능 - 사용자 패턴에 적응하는 자동 분류 및 트랜잭션 규칙을 통한 지출 추적. - 과소비를 방지하기 위해 실시간 추적 및 알림을 제공하는 예산 관리. - 누가 누구에게 얼마를 줘야 하는지를 포함한 가계 공유 비용 분할. - 자동 가격 업데이트가 포함된 포트폴리오별 투자 추적. - SimpleFin을 통한 은행 동기화 또는 감시 폴더의 CSV 가져오기를 통한 자동 내역 가져오기. - 다중 통화 및 다중 계정 지원, 다크 모드 제공. - pointsPal이라는 선택적 신용카드 리워드 모듈. - 스크립트 및 로컬 LLM을 위한 개인 액세스 토큰 및 범위 문서화. 설치 및 운영 README는 세 가지 명령어로 구성된 Docker Compose 퀵 스타트를 제공합니다. 저장소를 복제하고, scripts/setup-env.sh를 실행하여 생성된 비밀값이 포함된 .env 파일을 작성한 후, docker compose up -d를 실행합니다. 사전 빌드된 이미지를 가져오므로 로컬에서 빌드할 필요가 없습니다. 기본 포트는 80이며 .env의 HTTP_PORT로 변경할 수 있습니다. 처음 가입하는 계정이 관리자가 됩니다. 설정 스크립트는 실제 비밀값을 생성하며, .env.example에 표시된 change_me_* 자리 표시자 값으로는 애플리케이션이 시작되지 않습니다. 이는 해당 값들이 저장소에 공개되어 세션 위조에 사용될 수 있기 때문입니다. 업그레이드는 새 이미지를 가져오고 재시작함으로써 수행됩니다. 스키마 처리는 문서화된 주제입니다. 이전에는 부팅 시 모델에서 스키마를 구축하여 누락된 테이블은 생성했지만 기존 테이블에 컬럼을 추가하지는 않아, 오래된 인스턴스에서 최신 컬럼이 없어 쿼리가 실패하는 문제가 있었습니다. 현재는 부팅 시 스키마를 자동으로 조정하며, 누락된 nullable 컬럼을 추가하거나 모델 예상보다 좁은 컬럼을 확장하는 등 추가적인 작업만 수행합니다. 삭제, 이름 변경, 축소 또는 유형 변경은 절대 수행하지 않습니다. 적용된 문구는 로그에 기록되며 docker logs finpal-backend로 확인할 수 있습니다. SCHEMA_AUTO_RECONCILE=false로 자동 조정을 비활성화하면 읽기 전용 스크립트인 scripts/schema_drift.py가 필요한 정확한 문구를 출력합니다. 예외 사항은 기본값이 없는 NOT NULL 컬럼으로, 데이터가 있는 테이블에 추가할 수 없으므로 백필(backfill)이 포함된 마이그레이션을 통해 처리해야 합니다. 문서 및 커뮤니티 저장소에는 설치, 환경 변수, 아키텍처 및 시스템 요구 사항, API 토큰, CSV 폴더 가져오기, SimpleFin, pointsPal, 테스트 및 라이선스 가이드와 더불어 기여 가이드가 링크되어 있습니다. 풀 리퀘스트(PR)는 두 명의 palStack 개발자의 승인이 필요하며 검토는 보통 24~48시간이 소요됩니다. 설치 없이 이용 가능한 라이브 데모가 제공됩니다. 호스팅 및 로드맵 모든 기능을 갖춘 셀프 호스팅은 현재 무료로 이용 가능합니다. 구독형 관리형 호스팅은 곧 출시될 예정입니다. iOS 및 Android용 React Native 모바일 앱이 활발히 개발 중이며, 생체 인식 로그인과 오프라인 동기화를 목표로 하고 있습니다. 백엔드와 웹 UI는 현재 준비된 상태입니다. finPal은 부채 추적기인 Dollar Dollar Bill Y'all에서 기원했음을 밝히고 있습니다. 라이선스 참고 사항 애플리케이션 코드는 AGPL-3.0으로, 셀프 호스팅, 수정 및 공유가 가능합니다. 수정된 버전을 네트워크 서비스로 실행하는 경우 변경 사항을 공개해야 할 의무가 있습니다. 관리형 호스팅(finPal Premium)은 저장소의 라이선스를 변경하지 않는 별도의 독점 제공 서비스로 설명됩니다.