mirror of
https://github.com/remvze/moodist.git
synced 2025-12-18 09:24:14 +00:00
🌲 Ambient sounds for focus and calm.
🎵 新增音乐保存功能 - 实现用户音乐配置保存到SQLite数据库 - 支持保存音量、速度、频率和随机效果等完整配置 - 添加音乐重命名和删除功能 🎨 完善用户界面体验 - 新增保存按钮UI,集成到SelectedSoundsDisplay组件 - 实现SavedMusicList组件,显示用户保存的音乐列表 - 支持一键播放已保存的音乐配置 🔧 优化认证系统架构 - 修复API密码认证问题,添加sessionPassword机制 - 改进错误处理和用户反馈 - 优化用户菜单位置和z-index层级问题 🛠️ 技术改进 - 扩展SQLite数据库,新增saved_music表 - 创建完整的音乐管理API接口(保存/列表/重命名/删除) - 增强用户认证状态管理,支持会话密码 - 优化CSS样式和动画效果 🎯 用户体验提升 - 修复用户菜单层级遮挡问题 - 重新设计用户菜单位置到左侧展开 - 添加退出登录功能和个人设置预留 - 完善登录提示和错误反馈机制 📝 数据库变更 - 添加saved_music表,存储用户音乐配置 - 支持JSON格式存储复杂的音频参数 - 实现用户关联和权限控制 这次提交实现了完整的音乐保存与管理系统,用户现在可以: 1. 保存当前声音配置为"音乐" 2. 在左侧查看和管理保存的音乐 3. 一键恢复之前的音乐配置 4. 重命名或删除不需要的音乐 5. 享受更好的用户界面体验 |
||
|---|---|---|
| .github/workflows | ||
| .husky | ||
| .serena | ||
| .spec-workflow | ||
| .storybook | ||
| .vscode | ||
| assets | ||
| data | ||
| docker/nginx | ||
| public | ||
| scripts | ||
| src | ||
| .commitlintrc.json | ||
| .czrc | ||
| .dockerignore | ||
| .editorconfig | ||
| .eslintignore | ||
| .eslintrc.json | ||
| .gitignore | ||
| .lintstagedrc.json | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc.json | ||
| .stylelintignore | ||
| .stylelintrc.json | ||
| .versionrc.json | ||
| astro.config.mjs | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| docker-compose.dev.yml | ||
| docker-compose.optimized.yml | ||
| docker-compose.yml | ||
| DOCKER_DEPLOY.md | ||
| Dockerfile | ||
| Dockerfile.multiplatform | ||
| Dockerfile.optimized | ||
| Dockerfile.simple | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.cjs | ||
| README.en.md | ||
| README.md | ||
| README.zh-CN.md | ||
| tsconfig.json | ||
| vitest.config.ts | ||
🌍 Language / 语言
Table of Contents
Features
- 🎵 Over 75 ambient sounds.
- 📝 Persistent sound selection.
- ✈️ Sharing sound selections with others.
- 🧰 Custom sound presets.
- 🌙 Sleep timer for sounds.
- 📓 Notepad for quick notes.
- 🍅 Pomodoro timer.
- ✅ Simple to-do list (soon).
- ⏯️ Media controls.
- ⌨️ Keyboard shortcuts for everything.
- 🥷 Privacy focused: no data collection.
- 💰 Completely free, open-source, and self-hostable.
Tools
- ⚡ TypeScript: Programming Language
- 🔨 React: UI Library
- 🧑🚀 Astro: Meta Framework
- 🎨 CSS Modules: Styling
- 🐻 Zustand: State Management
- 🎭 Framer Motion: Animation Library
- ⚙️ Radix: Accessible Components
- 📕 Storybook: Component Documentation
- 🧪 Vitest: Unit Testing (soon)
- 🔭 Playwright: End-To-End Testing (soon)
- 🔍 ESLint: Code Linting
- 🧹 Prettier: Code Formatting
- 🧼 Stylelint: CSS Linting
- 🐶 Husky: Git Hooks
- 📝 Lint Staged: Running Linters on Staged Files
- 🧽 Commitlint: Git Commit Linting
- 🧭 Commitizen: Git Commit Message Helper
- 📓 Standard Version: Versioning and CHANGLOG Generation
- 🧰 PostCSS: CSS Transformations
Commands
npm run dev: run development servernpm run build: build for productionnpm run preview: preview the built appnpm run lint: lint files using ESLintnpm run lint:fix: lint and fix using ESLintnpm run lint:style: lint styles using Stylelintnpm run lint:style:fix: lint and fix styles using Stylelintnpm run format: format files using Prettiernpm run commit: commit message using Commitizennpm run release:major: release major versionnpm run release:minor: release minor versionnpm run release:patch: release patch versionnpm run storybook: run Storybook
Contributing
🚧 Please check CONTRIBUTING.md file.
Support Moodist
⭐ Give a star if you liked this project.
☕ Buy Me a Coffee to help me maintain Moodist.
License
This project is licensed under the MIT License - see the LICENSE file for details.
⚠️ Third-Party Assets
Some sounds used in this project are sourced from third-party providers and are subject to different licenses:
- Sounds licensed under the Pixabay Content License: Pixabay Content License
- Sounds licensed under CC0: Creative Commons Zero License