2697a/bujuan
54.0
Adequate · 19 September 2026
6.8k
lines of production code
Dart
with C++
1
measurement over time
What this system is
Bujuan is a cross-platform music player application built with Flutter, supporting Android, iOS, macOS, Windows, and Linux. It features background audio playback, media notifications, and lock-screen controls via a local proxy service and the just\_audio engine. The app includes a Material 3 UI with sliding panels, user authentication, and navigation for home, search, and settings, while currently relying on placeholder data access layers.
Features
Add sliding panel UI components and placeholder data access layer
This change introduces a new set of Flutter widgets for a draggable, snapping sliding panel interface, including \SlidingPanelBuilder\, \SlidingPanelBody\, \SlidingPanelHandle\, and \SlidingPanelExtent\ for managing panel positions and snap points. Additionally, a new \lib/dao\ directory is added containing \played\_info\_entity.dart\ (which currently holds commented-out example code from \just\_audio\) and \dao.dart\ (which contains a fully commented-out SQLite database implementation for tracking played media). These DAO files appear to be scaffolding or placeholders and do not yet provide active data persistence functionality.
lib/dao, lib/widgets/panel · high confidence
Added subproject reference for bujuan\_music\_api plugin
The plugin directory now includes a new submodule entry for 'bujuan\_music\_api', pointing to commit dff61e6. This integrates the external music API plugin into the project structure, making it available for use within the application's plugin system.
plugin · high confidence
App initialization, splash screen, and slide-up panel widget added
The application now includes a SplashPage that checks for cached user info to route users to Home or Login. The main entry point has been updated to initialize media services (AudioService), register slide-up panel controllers via GetIt, and configure edge-to-edge display modes on Android and window management on desktop platforms. A new reusable WeSlide widget has been introduced, allowing panels to slide up over the main content with customizable animations, blur effects, and parallax scaling.
lib · high confidence
Initial release with multi-platform support and DMG packaging
This entry marks the initial public release of the 'bujuan' music player, a Flutter-based application supporting Android, iOS, macOS, Windows, and Linux. The release includes an MIT license, updated documentation with platform-specific screenshots, and a new macOS DMG packaging script (dmg.sh) to streamline desktop distribution. Additionally, the .gitignore file has been updated to exclude the FVM version cache directory.
(repo-wide) · high confidence
New music player architecture with local proxy and background service
This change introduces the core music playback infrastructure for the application. It adds a \BujuanMusicHandler\ that bridges the \just\_audio\ engine with \audio\_service\ to enable background playback, media notifications, and lock-screen controls. A \LocalProxyService\ is added to run a local HTTP server on port 8848, which caches and streams audio URLs to ensure compatibility with the player. The diff also includes the initial UI pages for the app, such as login, home, playlist, and playback views, which consume these new services.
lib/pages · high confidence
Behavioural changes
Added CocoaPods workspace integration and 3D model viewer script
The macOS build configuration now includes the CocoaPods dependency workspace (Pods.xcodeproj), ensuring native dependencies are properly linked during compilation. On the web platform, a deferred script for the 3D model viewer library (model-viewer.min.js) has been added to index.html, enabling 3D asset rendering capabilities within the application.
macos/Runner.xcworkspace, web · high confidence
Android audio service integration and build updates
The Android app now supports background audio playback via the AudioService framework, requiring new permissions (WAKE\_LOCK, FOREGROUND\_SERVICE, RECORD\_AUDIO, MODIFY\_AUDIO\_SETTINGS, and FOREGROUND\_SERVICE\_MEDIA\_PLAYBACK) and registering the AudioService and MediaButtonReceiver components in the manifest. The main activity has been switched to extend AudioServiceActivity to enable this functionality. Additionally, the launch splash screen background is now transparent, and the Gradle wrapper has been upgraded from version 8.3 to 8.7.
android · high confidence
CocoaPods integration and GPU validation enabled for macOS
The macOS project now integrates CocoaPods, adding build phases to check the Pods manifest lock and embed Pods frameworks, along with references to the Pods\_Runner and Pods\_RunnerTests frameworks and their associated configuration files. Additionally, GPU validation mode is enabled in the Runner scheme to assist with graphics debugging during development.
macos/Runner.xcodeproj · high confidence
Introduction of Material 3 theming and app configuration values
The application now uses Material 3 design principles for its visual appearance, enabled via \useMaterial3: true\ in the \AppTheme\ definitions for both dark and light modes. This includes specific styling for the bottom navigation bar (transparent background, green accent color \#1ED760) and app bars. Additionally, new configuration files define the bottom navigation items (Home, User, Search, Settings), top home page items (Daily Recommendations), and asset paths for logos and images.
lib/common/values · high confidence
Replaces audioplayers with a new audio and system plugin stack
The application has replaced the previous audioplayers plugin with a new set of plugins across Linux, macOS, and Windows. On macOS, the audio handling now relies on audio\_service, audio\_session, connectivity\_plus, just\_audio, and sqflite\_darwin, alongside nb\_utils, screen\_retriever, and window\_manager. Linux and Windows platforms have similarly switched from audioplayers to connectivity\_plus, nb\_utils, screen\_retriever, and window\_manager. This change updates the underlying audio playback and system integration capabilities for the desktop and mobile platforms.
linux, macos/Flutter, windows · high confidence
Updated macOS app configuration for network access and sandboxing
The macOS application configuration has been updated to support broader network capabilities and proper asset handling. The app bundle now explicitly references the 'AppIcon' for its icon file. To enable network communication, the 'com.apple.security.network.client' entitlement has been added to both Debug and Release profiles, and the Info.plist now includes NSAppTransportSecurity settings allowing arbitrary loads and client network access. Additionally, the Release entitlements have been expanded to allow Just-In-Time (JIT) compilation and network server access, which are required for the underlying media playback engine to function correctly within the sandbox.
macos/Runner · high confidence
iOS deployment target raised to 13.0 with updated signing and background audio support
The iOS build now requires iOS 13.0 or later (updated in AppFrameworkInfo.plist and project.pbxproj), and the app bundle identifier has changed to com.lizong.bujuan with a new development team (ZSCR6PZ5LY) and automatic code signing. The app now declares the audio background mode, enabling playback to continue when the app is in the background, and includes settings for indirect input events and embedded view preview. Additionally, the app icon assets have been updated to use universal idiom entries with platform-specific filenames.
ios · high confidence
Dependencies
Audio engine migration and dependency upgrades
The app switches its audio playback engine from audioplayers to the just\_audio and audio\_service plugins, enabling background playback and system media controls. This change is accompanied by a major upgrade of the Flutter SDK requirement to version 3.10+, updating the Android build to Java 17 and Kotlin 2.2.20, raising the minimum iOS platform to 13.0 and macOS to 10.15, and upgrading core libraries such as Riverpod, GoRouter, and the analyzer suite.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 54.
Lenses
- Code Health 96
- Architecture 100
- Maturity 46
- Readiness 33
- Security 93
- Domain Modelling 100
Changes since last survey
- 28 commits — 28 feature/other, 0 fixes
By area
- lib/pages — 20 commits
- (root) — 3 commits
- ios/Runner — 2 commits
- lib/main.dart — 1 commit
- macos/.gitignore — 1 commit
- macos/Runner — 1 commit
Notable commits
- change: Create LICENSE
- change: Update README.md
- change: init
- change: init
- change: phone端修改
- change: phone端修改
- change: phone端修改
- change: phone端修改
- change: phone端修改
- change: 优化布局和性能 增加m3设计
- change: 优化布局和性能 增加m3设计
- change: 优化性能
- change: 优化性能
- change: 优化性能
- change: 切换音乐播放为media_kit mpv播放器 优化布局和性能
- change: 新增循环模式(单曲 列表循环 随机) 更换音频播放插件
- change: 歌单列表优化
- change: 正常开发
- change: 正常开发
- change: 正常开发
- …and 8 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
2697a/bujuan was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 44698e454d84d3f9dc68ce06c578781d05f3bc1a — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.