Commit Graph
121 Commits
Author SHA1 Message Date
이창현 75ea54699d 요청과 맞지 않는 연습곡 30개를 철회함
CI / Frontend - type-check & test (push) Canceled after 0s
부르크뮐러와 슈만 연습곡 30개의 공개 등록과 MIDI 및 원본·생성 자료를 제거했다. 정확한 파일명만 제외 목록에 넣어 재시작 후 재등록을 막았다. 회원 업로드와 기존 기본 샘플은 유지했다.

운영 백업: /home/syskiller/piano/backups/bach-to-basics/20261009-withdraw-practice-30. 격리 테스트 5개 통과. 운영 재시작 뒤 HTTPS 목록과 DB 및 파일에서 철회곡 0개를 확인했다. 회원 업로드 2건과 기존 기본 샘플 7개 보존.
2026-10-09 23:51:57 +09:00
이창현 8298f5af26 서로 다른 연습곡 30개에 도입부와 마무리를 추가함
CI / Frontend - type-check & test (push) Canceled after 0s
비슷한 임시 연습곡 다섯 개를 교체했다. 부르크뮐러와 슈만 원본 30곡의 출처와 권리 정보를 보존했다. 각 MIDI에 양손 연습용 도입부와 마무리를 넣고 난이도를 음표 밀도로 분류했다.

MIDI 구조 검사 30개와 서버 격리 테스트 5개를 통과했다. 운영 백업: /home/syskiller/piano/backups/bach-to-basics/20261009-practice-30-intro-ending. 백엔드만 운영에 반영했고 HTTPS 공개 목록과 30개 다운로드를 확인했다. 회원 업로드 2건은 보존됐다. 실제 건반 연주감 검사는 남아 있다.
2026-10-09 23:25:37 +09:00
이창현 89f66c3bee 초보자용 1분 양손 MIDI 연습곡 다섯 개를 추가함
CI / Frontend - type-check & test (push) Canceled after 0s
직접 만든 연습곡 다섯 파일을 공개 보관함에 등록했다. 별빛 계단은 입문과 쉬움 두 단계로 제공한다.

MIDI 파서 검사와 백엔드 단위 테스트 5개를 통과했다. 운영 백업은 /home/syskiller/piano/backups/bach-to-basics/20261009-beginner-midi 에 있다. 백엔드만 갱신했고 비회원 목록과 다운로드를 확인했다. 실제 USB MIDI 장치 검사는 남아 있다. 사전 훅은 로컬 pnpm 의존성 불일치로 실행되지 않아 관련 검사를 직접 수행했다.
2026-10-09 23:06:17 +09:00
이창현 3721d6296f 피아노 학습 서비스 최종 선택을 기록함
CI / Frontend - type-check & test (push) Canceled after 0s
Bach to Basics를 최종 사용 프로그램으로 확정하고 포럼 안내 기준 주소를 기록했다.
Discourse 포럼 작업방에 소개와 용도별 게시 공간 구성을 요청했다.

검사: 문서 차이 검사 통과
운영 반영: 코드와 DB 변경 없음
백업: 기존 운영 백업 유지
남은 일: 포럼 작업방의 실제 반영 결과 확인
2026-10-04 20:45:32 +09:00
이창현 d5d83c48f8 양손 악보가 잘리지 않도록 화면을 맞춤
CI / Frontend - type-check & test (push) Canceled after 0s
전체 화면의 악보 영역을 넓히고 렌더링된 악보 높이에 따라 배율을 자동으로 맞춘다.
모바일 가로 화면에서는 최소 높이를 줄여 다른 연습 영역을 지나치게 가리지 않도록 했다.

검사: 프런트 타입 검사, 전체 70개 테스트, Docker 운영 빌드, 데스크톱·태블릿·모바일 가로 화면 확인
운영 반영: 완료
백업: /home/syskiller/piano/backups/bach-to-basics/20261003-1730-sheet-fit
2026-10-03 17:39:24 +09:00
이창현 92bc93c01b 악보 진행과 연습곡 분류를 바로잡음
CI / Frontend - type-check & test (push) Canceled after 0s
양손 악보를 피아노 독주로 통일하고 난이도 정렬과 곡 목록 통신 복구를 보완했다.
재생 위치에 맞춰 악보 커서와 화면이 이동하도록 고쳤으며 높은음과 낮은음에는 8va와 8vb 표기를 적용했다.
상단 브랜드와 저장소 링크를 ITOSM 피아노 학습실 기준으로 바꿨다.

검사: 프런트엔드 테스트 67건 통과, 백엔드 테스트 4건 통과, 타입 검사와 빌드 통과, Docker 재빌드와 운영 화면 확인
운영 반영: 완료
백업: /home/syskiller/piano/backups/bach-to-basics/20261003-1635-classification-scroll
2026-10-03 16:56:26 +09:00
이창현 0522e48013 곡 보관함과 악보 학습 기능을 보완
업로드 형식을 MIDI와 MusicXML과 MXL 및 PDF로 확장하고 파일별 검증을 추가했다.

AlphaTab 악보 자산과 Nginx MIME 설정을 보완해 운영에서 오선과 음표가 표시되도록 수정했다.

공개 도메인 클래식과 난이도별 연습 편곡 7개를 같은 제목별로 묶고 출처와 운영 검증 결과를 문서화했다.

검사: TypeScript 검사와 Vitest 67개 및 Vite 운영 빌드 통과. 운영 브라우저 악보 표시와 네 가지 업로드 검증 형식 확인.
백업: /home/syskiller/piano/backups/bach-to-basics/20261003-1545-sheet-upload
운영 반영: 완료
2026-10-03 16:15:00 +09:00
이창현 c918f02685 회원 메뉴 진입 방법을 문서에 추가한다
CI / Frontend - type-check & test (push) Canceled after 0s
곡 보관함과 로그인·가입과 관리자 버튼의 역할을 설명했다. 모바일 두 줄 배치와 PWA 갱신 방법도 기록했다. 검사: Prettier 적용과 diff 검사 통과.
2026-10-03 11:04:50 +09:00
이창현 1bf351c03e 모바일 회원 버튼 문구를 줄인다
CI / Frontend - type-check & test (push) Canceled after 0s
390픽셀 화면에서도 회원 진입 목적이 잘리지 않도록 로그인·가입으로 표시했다. 접근성 설명은 로그인 또는 회원 가입으로 유지한다. 검사: ESLint와 프런트엔드 프로덕션 빌드 통과.
2026-10-03 11:01:14 +09:00
이창현 407b453871 모바일 회원 메뉴 배치를 바로잡는다
좁은 화면에서 첫 줄에는 회원 메뉴를 두고 둘째 줄에는 화면 전환과 MIDI 장치를 배치했다. 앱 이름은 모바일에서 아이콘으로 줄여 로그인과 회원가입 및 관리자 버튼이 화면 밖으로 밀리지 않게 했다. 검사: ESLint와 프런트엔드 프로덕션 빌드 통과.
2026-10-03 10:58:02 +09:00
이창현 fd225c2565 회원 메뉴와 관리자 진입을 상단에 표시한다
곡 보관함과 로그인·회원가입과 관리자 버튼을 항상 보이도록 분리했다. 관리자 버튼은 권한에 따라 로그인 화면 또는 회원 관리 화면으로 이동한다. PWA 시작 문서와 서비스 워커의 캐시 정책을 보완해 배포 뒤 예전 화면이 오래 남지 않게 했다. 검사: pnpm 9 lint-staged와 프런트엔드 프로덕션 빌드 통과.
2026-10-03 10:53:28 +09:00
이창현 3541ca454f QA용 보안 쿠키 설정을 분리한다
CI / Frontend - type-check & test (push) Canceled after 0s
운영에서는 Secure 쿠키를 강제한다.`nHTTP로 실행하는 격리 QA에서만 환경 변수로 해제할 수 있게 했다.
2026-10-03 10:15:17 +09:00
이창현 a41da4029f 회원과 곡 보관함 기능을 추가한다
회원 가입과 로그인 및 등급별 접근과 공개 범위를 구현했다.`nMIDI 업로드와 검색 및 같은 곡의 버전 묶음을 추가했다.`n비밀번호 변경과 회원 탈퇴 및 관리자 회원 관리를 포함했다.`n직접 만든 공개 샘플 MIDI 네 곡과 운영 문서를 추가했다.
2026-10-03 10:12:17 +09:00
이창현 e7acd97798 공개 HTTPS 운영 결과를 기록한다
CI / Frontend - type-check & test (push) Canceled after 0s
aaPanel 프록시와 공용 인증서 적용 결과를 운영 문서에 남겼다.`nHTTP의 HTTPS 전환과 공개 주소 응답 검증 및 .com 별칭 동작을 기록했다.
2026-10-03 08:37:26 +09:00
이창현 9770387591 프로젝트 운영 이름과 MusicXML 지원을 기록한다
CI / Frontend - type-check & test (push) Canceled after 0s
독립 프로젝트 이름과 새 Gitea 저장소 위치를 문서에 반영했다. 표준 .musicxml 확장자 지원과 관리자 곡 목록 후속 작업도 남겼다.
2026-10-03 08:20:49 +09:00
이창현 9926cd24da 백엔드에서 MusicXML 표준 확장자를 허용한다
CI / Frontend - type-check & test (push) Canceled after 0s
MusicXML 변환 API가 .musicxml 파일도 .xml 및 .mxl과 같은 방식으로 처리하도록 확장자 검사와 설명을 맞췄다.
2026-10-03 08:08:27 +09:00
이창현 b51da176a1 MusicXML 표준 확장자를 지원한다
파일 선택 목록과 가져오기 분기에서 .musicxml 확장자를 .xml 및 .mxl과 동일하게 처리한다. 한국어 파일명의 MusicXML 악보를 실제로 불러올 수 있도록 제목 정리 규칙도 맞췄다.
2026-10-03 07:59:20 +09:00
이창현 a69c5362c3 Bach 설치 문서와 남은 번역을 정리한다
설치와 보안 및 업데이트와 복구 절차를 기록하고 실제 모바일 검수에서 남은 설정 문구를 한국어로 보완한다.
2026-10-03 07:50:28 +09:00
이창현 25bad109a4 고급 설정의 한국어 설명을 보완한다
실제 브라우저에서 확인한 화면 색상과 건반 및 재생과 연습 설정의 보조 문구를 자연스러운 한국어로 정리한다.
2026-10-03 07:47:31 +09:00
이창현 b4d08a0839 pnpm 버전을 공식 CI와 맞춘다
잠금 파일과 호환되지 않는 최신 주 버전 대신 공식 CI와 같은 pnpm 9를 사용해 Docker 빌드를 안정화한다.
2026-10-03 07:39:42 +09:00
이창현 ba887cc6f9 Bach 운영 컨테이너 보안을 강화한다
백엔드는 내부 네트워크에만 두고 Docker 비밀 파일의 API 키를 프록시에서 주입한다. 프론트엔드는 루프백 포트 18102만 사용한다.
2026-10-03 07:32:36 +09:00
이창현 7679397074 모바일과 태블릿 화면을 보완한다
동적 화면 높이와 터치 영역을 적용하고 좁은 화면에서 헤더와 조작 막대가 겹치지 않도록 조정한다.
2026-10-03 07:32:36 +09:00
이창현 7b864afc49 피아노 학습 화면을 한국어로 제공한다
화면 문구와 도움말 및 PWA 정보를 별도 한국어 리소스로 구성한다.
2026-10-03 07:32:36 +09:00
Fabricio Giglio 8b6db270f3 Override shell-quote and @babel/core to patched versions (clears remaining transitive advisories) 2026-06-23 20:48:48 +02:00
Fabricio Giglio 017995c23b Update alphatab, vite, tailwindcss/vite, and eslint; vite bump clears the open vite advisories 2026-06-23 18:30:41 +02:00
gigliof fc214063f9 Merge pull request #28 from gigliof/dependabot/npm_and_yarn/react-cd43639a56
Bump the react group across 1 directory with 3 updates
2026-06-23 16:22:50 +02:00
gigliof f415223aba Merge pull request #26 from gigliof/dependabot/npm_and_yarn/vitest-82de239667
Bump the vitest group across 1 directory with 2 updates
2026-06-23 16:22:45 +02:00
gigliof 65d9835490 Merge pull request #33 from gigliof/dependabot/github_actions/actions/checkout-7
Bump actions/checkout from 6 to 7
2026-06-23 16:22:42 +02:00
dependabot[bot] 476855a09c Bump the react group across 1 directory with 3 updates
Bumps the react group with 3 updates in the / directory: [react](https://github.com/facebook/react/tree/HEAD/packages/react), [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) and [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom).


Updates `react` from 19.2.6 to 19.2.7
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.7/packages/react)

Updates `@types/react` from 19.2.15 to 19.2.17
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `react-dom` from 19.2.6 to 19.2.7
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.7/packages/react-dom)

Updates `@types/react` from 19.2.15 to 19.2.17
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-version: 19.2.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: react
- dependency-name: "@types/react"
  dependency-version: 19.2.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: react
- dependency-name: react
  dependency-version: 19.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: react
- dependency-name: react-dom
  dependency-version: 19.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: react
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-22 06:36:45 +00:00
dependabot[bot] d0255447ff Bump the vitest group across 1 directory with 2 updates
Bumps the vitest group with 2 updates in the / directory: [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/ui` from 4.1.7 to 4.1.9
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.9/packages/ui)

Updates `vitest` from 4.1.7 to 4.1.9
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.9/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/ui"
  dependency-version: 4.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-version: 4.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-22 06:36:20 +00:00
dependabot[bot] de03205146 Bump actions/checkout from 6 to 7
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-22 06:35:29 +00:00
Fabricio Giglio 84a26bc5f7 Bump version to 0.6.0 2026-06-21 21:50:18 +02:00
Fabricio Giglio 6ba588aedb Redesign All view as stacked bands with horizontal scrolling sheet on top 2026-06-21 21:50:01 +02:00
Fabricio Giglio 27be691fe2 Bump version to 0.5.2 2026-05-29 18:02:58 +02:00
Fabricio Giglio 65e79afe5c Add boot loading placeholder to cover cold-load window, lazy-load smplr off the critical path 2026-05-29 18:01:42 +02:00
gigliof 903039bb83 Merge pull request #25 from gigliof/dependabot/npm_and_yarn/smplr-0.26.0
Bump smplr from 0.24.0 to 0.26.0
2026-05-29 15:53:52 +02:00
dependabot[bot] 2610a72db1 Bump smplr from 0.24.0 to 0.26.0
Bumps [smplr](https://github.com/danigb/smplr) from 0.24.0 to 0.26.0.
- [Release notes](https://github.com/danigb/smplr/releases)
- [Changelog](https://github.com/danigb/smplr/blob/main/CHANGELOG.md)
- [Commits](https://github.com/danigb/smplr/commits)

---
updated-dependencies:
- dependency-name: smplr
  dependency-version: 0.26.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-29 13:52:45 +00:00
gigliof 19fc79b7b2 Merge pull request #21 from gigliof/dependabot/npm_and_yarn/vitest-2b22407473
Bump the vitest group across 1 directory with 2 updates
2026-05-29 15:50:49 +02:00
dependabot[bot] aadfd01710 Bump the vitest group across 1 directory with 2 updates
Bumps the vitest group with 2 updates in the / directory: [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/ui` from 4.1.6 to 4.1.7
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/ui)

Updates `vitest` from 4.1.6 to 4.1.7
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/ui"
  dependency-version: 4.1.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-version: 4.1.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-29 13:46:45 +00:00
gigliof 376ca20b93 Merge pull request #22 from gigliof/dependabot/npm_and_yarn/vite-600b5325e0
Bump vite from 8.0.13 to 8.0.14 in the vite group across 1 directory
2026-05-29 15:43:54 +02:00
dependabot[bot] 06bd3a9136 Bump vite from 8.0.13 to 8.0.14 in the vite group across 1 directory
Bumps the vite group with 1 update in the / directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 8.0.13 to 8.0.14
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.0.14/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.0.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-29 13:41:42 +00:00
gigliof 5baddc728a Merge pull request #23 from gigliof/dependabot/npm_and_yarn/react-92118fd03c
Bump @types/react from 19.2.14 to 19.2.15 in the react group
2026-05-29 15:41:41 +02:00
gigliof 6bcd4f7dfd Merge pull request #24 from gigliof/dependabot/npm_and_yarn/typescript-eslint-8.59.4
Bump typescript-eslint from 8.59.3 to 8.59.4
2026-05-29 15:39:17 +02:00
dependabot[bot] 8e5e873f4c Bump typescript-eslint from 8.59.3 to 8.59.4
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.59.3 to 8.59.4.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.4/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.59.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-25 09:29:33 +00:00
dependabot[bot] 096126584d Bump @types/react from 19.2.14 to 19.2.15 in the react group
Bumps the react group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 19.2.14 to 19.2.15
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-version: 19.2.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: react
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-25 09:29:11 +00:00
Fabricio Giglio ad85323c58 Bump version to 0.5.1 2026-05-20 18:50:03 +02:00
Fabricio Giglio 6645e084c7 Fix MP3 export against smplr 0.24 (pass scheduler directly to SplendidGrandPiano) 2026-05-20 18:45:51 +02:00
Fabricio Giglio eefbc89651 Bump version to 0.5.0 2026-05-20 18:38:10 +02:00
Fabricio Giglio b31d126276 Add MP3 export via offline rendering (Splendid Grand Piano), polish deployment docs 2026-05-20 18:37:58 +02:00
gigliof 7a4a04da61 Merge pull request #19 from gigliof/dependabot/npm_and_yarn/smplr-0.23.0
Bump smplr from 0.20.0 to 0.24.0
2026-05-18 16:20:56 +02:00