프로젝트 소개

BikeBuddy는 개인용 라이딩 기록 웹 애플리케이션입니다. 이 앱의 목적은 단순합니다. 바로 당신의 라이딩, 경로, 그리고 추억을 기록하는 것입니다. 사용자는 사이클링이나 모터사이클 등 모든 라이딩에서 내보낸 GPX 트랙을 업로드하며, 앱은 이를 지도상의 경로로 렌더링합니다. 투어에 사진을 첨부하여 단순한 트랙 데이터를 이미지와 함께 기록으로 남길 수 있습니다. 저장소 제공 내용 README에 따르면, 이 프로젝트는 GitHub Pages에서 정적 콘텐츠로 제공되는 프런트엔드와 Azure Functions v4 기반의 서버리스 백엔드로 구성됩니다. 기술 배지에 표시된 바와 같이, 데이터 지속성은 Cosmos DB를 사용하며 사진과 같은 미디어는 Blob Storage에 저장됩니다. Node.js 24 버전 이상이 필요합니다. 문서의 스크린샷에는 투어 사이드바와 함께 라이딩 경로가 표시된 지도 뷰가 나타나 있습니다. 지도는 Leaflet로 그려지며, 유효성 검사는 Zod로 처리됩니다. 전체 스택은 JavaScript와 TypeScript로 구성되어 있습니다. 시작하기 모든 헬퍼 스크립트는 단일 진입점을 통해 실행됩니다. 쉘 스크립트 buddy.sh를 실행한 후 그룹과 명령어를 입력하면 됩니다. 도움말 플래그를 통해 사용 가능한 모든 기능을 확인할 수 있습니다. 문서화된 두 가지 명령어가 일반적인 경로를 안내합니다. 하나는 도구와 설정 템플릿을 설치하는 개발 설정 명령어이며, 다른 하나는 localhost 포트 4280에서 전체 로컬 스택을 구동하는 개발 start-all 명령어입니다. 설정을 위해서는 Docker가 실행 중이어야 합니다. 문서화 전체 문서는 docs 폴더에 Diátaxis 프레임워크에 따라 정리되어 있습니다. - 튜토리얼: 시작하기 가이드. - How-to 가이드: 로컬 개발, 인증 및 토큰, 배포를 다루는 사용자 및 개발자 가이드와 별도의 인프라 How-to. - 레퍼런스: 아키텍처 및 설정 페이지. - 설명: 설계 결정 사항 및 비용 보고서. 기여 가이드에는 기여자 컨벤션이 문서화되어 있으며 README에서 참조할 수 있습니다. 인프라 및 도구 인프라는 OpenTofu로 관리되는 코드형 인프라(IaC)로 설명되어 있으며, 클라우드 제공업체로 Azure를 대상으로 합니다. 정적 부분의 배포는 GitHub Pages를 통해 이루어지며, 워크플로우는 GitHub Actions에서 실행됩니다. README 배지에서 확인할 수 있는 품질 및 보안 도구는 다음과 같습니다. - 린팅 및 포맷팅을 위한 ESLint 및 Prettier. - 단위 테스트를 위한 Vitest 및 Codecov를 통한 커버리지 보고. - 기술 맵에 따른 엔드 투 엔드 테스트를 위한 Playwright. - 뮤테이션 테스트를 위한 Stryker 및 공개 대시보드 보고서. - 정적 애플리케이션 보안 테스트를 위한 OpenGrep, GitHub Actions 강화를 위한 zizmor, 그리고 CodeQL 코드 스캐닝. - 로컬 체크를 위한 pre-commit 훅. - CI 품질 게이트를 나타내는 게이트 워크플로우 배지. 라이선스 및 프로젝트 상태 이 프로젝트는 MIT 라이선스로 배포됩니다. README의 최신 커밋 배지는 최근 활동을 나타내지만, 릴리스 성숙도, 문서화된 내용 이외의 호스팅 요구 사항 또는 성능 특성에 대한 주장은 포함되어 있지 않습니다. 추천 대상 지도 시각화 및 사진 첨부 기능이 포함된 자체 관리 라이딩 기록을 원하며, Azure 기반 스택을 배포하거나 문서화된 로컬 Docker 기반 개발 환경을 실행하는 데 익숙한 사용자에게 적합합니다. 또한, 정적 프런트엔드와 Azure Functions, Cosmos DB의 실제 구현 사례와 광범위한 테스트 및 보안 도구 체인을 참고하려는 개발자에게도 유용한 저장소가 될 것입니다.