프로젝트 소개

simpleTracker는 노트, 작업, 프로젝트 관리를 하나의 모바일 우선 프로그레시브 웹 앱으로 결합한 무료 오픈소스 생산성 앱입니다. Todoist, Google Keep, Notion, Apple Notes, TickTick, Microsoft To Do의 대안으로 자리매김하며, 구독이나 광고 없는 단순한 도구를 원하는 사용자를 대상으로 합니다. 핵심 기능: - 실시간 미리보기와 서식 도구 모음을 갖춘 Markdown 노트, 그리고 완료 가능한 항목이 있는 체크리스트형 노트. - 하위 작업, 마감일, 완료 추적, 마감일 또는 완료 시점을 기준으로 구성 가능한 반복 작업(일간, 주간, 월간)을 지원하는 작업 관리. - 관련 노트와 작업을 함께 그룹화하는 프로젝트. - 노트 또는 전체 프로젝트를 QR 코드로 공유하고 협업. - 마감 및 기한 초과 작업에 대한 일일 브라우저 알림. - 노트, 작업, 프로젝트의 CSV 내보내기. - 다크 및 라이트 테마, iOS, Android, 데스크톱에 설치 가능한 PWA. 오프라인 아키텍처: 이 앱은 공유되지 않은 항목에 대해 오프라인 우선입니다. 변경 사항은 즉시 IndexedDB에 대기열로 저장되고 백그라운드에서 동기화됩니다. 캐시된 데이터는 시작 시 즉시 렌더링되며, 동기화는 브라우저 online 이벤트, 30초 하트비트, 앱 가시성 변경 시 트리거됩니다. "lie-fi" 감지 메커니즘은 Supabase에 핑을 보내 navigator.onLine 이상의 실제 연결성을 확인합니다. 공유 항목은 다중 사용자 상태를 포함하므로 연결이 필요합니다. 자체 호스팅: 사용자는 전역 구성(public/config.js), localStorage에 저장되는 /backend-config의 사용자별 재정의, 또는 빌드 시 환경 변수를 통해 앱을 자신의 Supabase 인스턴스로 연결할 수 있습니다. 별도의 simplesuite-selfhost 저장소는 프런트엔드와 백엔드를 위한 완전한 자체 호스팅 설정을 제공합니다. 데이터는 Supabase 행 수준 보안 정책으로 보호됩니다. 기술 스택: React 19, TypeScript, Vite, MUI(Material UI), 상태 관리를 위한 Zustand, 인증/PostgreSQL/RLS를 위한 Supabase, react-router-dom, remark-gfm을 사용하는 react-markdown, Recharts, qrcode.react와 html5-qrcode, Workbox를 사용하는 vite-plugin-pwa, 속성 기반 테스트를 위한 fast-check를 사용하는 Vitest. apps/mobile 아래의 모바일 앱은 Gradle을 통해 APK를 빌드하기 위한 사전 빌드된 Android 디렉터리가 있는 Expo 프로젝트입니다. 이 프로젝트는 GNU AGPL v3에 따라 라이선스가 부여되며 기여를 환영합니다.