{"id":35272577,"url":"https://github.com/bgpworks/boxhero-electron","last_synced_at":"2026-02-06T03:08:31.320Z","repository":{"id":37201934,"uuid":"183994381","full_name":"bgpworks/boxhero-electron","owner":"bgpworks","description":"박스히어로 Desktop 앱","archived":false,"fork":false,"pushed_at":"2026-01-28T17:27:18.000Z","size":4217,"stargazers_count":62,"open_issues_count":2,"forks_count":30,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-01-28T23:49:59.645Z","etag":null,"topics":["electron","inventory","inventory-management"],"latest_commit_sha":null,"homepage":"https://www.boxhero.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bgpworks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-04-29T03:36:02.000Z","updated_at":"2025-12-30T06:27:21.000Z","dependencies_parsed_at":"2025-02-25T11:30:07.242Z","dependency_job_id":null,"html_url":"https://github.com/bgpworks/boxhero-electron","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/bgpworks/boxhero-electron","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bgpworks%2Fboxhero-electron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bgpworks%2Fboxhero-electron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bgpworks%2Fboxhero-electron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bgpworks%2Fboxhero-electron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bgpworks","download_url":"https://codeload.github.com/bgpworks/boxhero-electron/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bgpworks%2Fboxhero-electron/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29147517,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T02:39:25.012Z","status":"ssl_error","status_checked_at":"2026-02-06T02:37:22.784Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","inventory","inventory-management"],"created_at":"2025-12-30T12:59:14.303Z","updated_at":"2026-02-06T03:08:31.313Z","avatar_url":"https://github.com/bgpworks.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BoxHero Desktop App\n\n[박스히어로](https://app.boxhero.io) 데스크톱 앱\n\n![제품목록](screenshots/item_list.png)\n\n## NPM Scripts\n\n### 설치\n\n```sh\nnpm install\n```\n\n### 개발\n\n```sh\nnpm run start\n```\n\n#### Linux 커스텀 프로토콜 설정\n\nLinux 개발 모드에서 `boxhero://` 프로토콜을 사용하려면 수동 등록이 필요합니다.\n\n```sh\n# 등록\nnpm run setup:linux\n\n# 해제\nnpm run setup:linux:unregister\n```\n\n### 패키징 \u0026 배포\n\n```sh\n# 실행가능한 app bundle만 생성\nnpm run package\n\n# 설치파일 생성\nnpm run make\n\n# 배포\nnpm run publish-app\n```\n\n## 로컬 빌드를 준비사항\n\n### Code Signing\n\n#### Mac\n\n- Code Sign용 `Developer ID Application` 인증서를 로컬에 설치합니다.\n- Notarize를 위한 [App Store Connect API key](#app-store-connect-api-키-생성-방법)를 준비합니다.\n\n#### Windows\n\n- Azure Trusted Signing을 이용하여 EV 인증서 없이 코드 사인 합니다.\n- 자세한 사용 설정 방법은 [Code signing on Windows with Azure Trusted Signing](https://melatonin.dev/blog/code-signing-on-windows-with-azure-trusted-signing)를 따릅니다.\n\n### 환경변수 설정\n\n[.env.example](./.env.example) 을 참고하여 필요한 환경변수들을 설정합니다.\n\n`# for ci`로 그룹핑된 변수들은 Github action을 통한 빌드시에만 필요한 환경변수이므로 설정하지 않으셔도 괜찮습니다.\n\n## 배포\n\n### 프로덕션 \u0026 beta 배포에 대하여\n\n- 환경변수 `DEV_USE_BETA_LANE`가 `t`로 설정된 경우, beta 버전으로 배포할 수 있다.\n- beta 버전의 beta 버전만의 릴리즈 히스토리를 따라 업데이트가 진행된다.\n- Github action으로 배포시 `release` 브랜치 외에는 `beta`로만 배포가 된다.\n\n### 프로덕션 배포\n\n- 배포가 결정되면, release 브랜치로 배포할 내용들을 모두 일괄 머지한다.\n- Github action을 이용해 배포 관련 workflow를 수동으로 트리거한다.\n  - `Github` -\u003e `Actions` -\u003e 사이드바에서 `publish-app` workflow 선택 -\u003e `Run workflow`\n\n## 기타\n\n### App Store Connect API 키 생성 방법\n\n1. [App Store Connect access page](https://appstoreconnect.apple.com/access/api)에 방문.\n2. `Keys` 탭으로 이동해 생성 및 다운로드.\n3. 다운받은 API key는 `AuthKey_ABCD123456.p8`와 같이 생겼으며, 단 한 번만 다운로드가 가능하니 주의해주세요.\n\n### Mac 빌드시 Code sign \u0026 Notarize 스킵하는 방법\n\n환경변수 `DEV_SKIP_SIGN`을 `t` 로 설정하면 빌드 단계에서 Code sign \u0026 Notarize를 생략합니다.\n\n### Windows 로컬 사이닝\n\n- [.NET runtime 8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) 이상 설치\n- [signtool](https://learn.microsoft.com/en-us/windows/win32/seccrypto/signtool) 최신 버전 설치\n- [Microsoft.Trusted.Signing.Client](https://www.nuget.org/packages/Microsoft.Trusted.Signing.Client) 패키지 설치\n\n아래 환경변수를 알맞게 설정\n\n```\nAZURE_CLIENT_ID=\"fill_here\"\nAZURE_CLIENT_SECRET=\"fill_here\"\nAZURE_TENANT_ID=\"fill_here\"\nAZURE_CODE_SIGNING_DLIB=\"C:\\path\\to\\Azure.CodeSigning.Dlib.dll\"\nSIGNTOOL_PATH=\"C:\\path\\to\\signtool.exe\"\n```\n\n### Azure Trusted Signing 갱신\n\n- 2년에 한번씩 Identity Validation을 해야 한다. (3/22/2028 만료 예정)\n- App Registrations \u003e trusted-signing user의 secret(`AZURE_CLIENT_SECRET`)도 2년에 한번씩 만료 되므로 갱신해줘야 한다. (12/18/2027 만료 예정)\n\n## 스크린샷\n\n![제품 정보](screenshots/item_detail.png)\n![대시보드](screenshots/dashboard.png)\n![입출고](screenshots/stock_in.png)\n![바코드 스캔](screenshots/barcode_scan.png)\n![바코드 라벨 디자인](screenshots/label_design.png)\n![바코드 라벨 인쇄](screenshots/label_print.png)\n![입출고 내역](screenshots/transaction_history.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbgpworks%2Fboxhero-electron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbgpworks%2Fboxhero-electron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbgpworks%2Fboxhero-electron/lists"}