| File | Date | Author | Commit |
|---|---|---|---|
| _functions | 2025-12-02 |
|
[7a6f02] init |
| public | 2025-12-05 |
|
[b85de0] feat(路由): 优化呼吸练习页面路由和元数据配置 |
| scripts | 2025-12-02 |
|
[7a6f02] init |
| src | 2025-12-06 |
|
[3a5e61] feat(breathing-exercise): enhance UI with gradi... |
| styles | 2025-12-02 |
|
[7a6f02] init |
| .browserslistrc | 2025-12-02 |
|
[7a6f02] init |
| .gitignore | 2025-12-02 |
|
[7a6f02] init |
| README.md | 2025-12-02 |
|
[7a6f02] init |
| _headers | 2025-12-02 |
|
[7a6f02] init |
| _redirects | 2025-12-05 |
|
[b85de0] feat(路由): 优化呼吸练习页面路由和元数据配置 |
| eslint.config.mjs | 2025-12-02 |
|
[7a6f02] init |
| middleware.ts | 2025-12-05 |
|
[b85de0] feat(路由): 优化呼吸练习页面路由和元数据配置 |
| next-env.d.ts | 2025-12-02 |
|
[7a6f02] init |
| next.config.js | 2025-12-06 |
|
[1d573b] feat(breathing-exercise): refactor page structu... |
| package-lock.json | 2025-12-02 |
|
[7a6f02] init |
| package.json | 2025-12-06 |
|
[1d573b] feat(breathing-exercise): refactor page structu... |
| postcss.config.mjs | 2025-12-02 |
|
[7a6f02] init |
| tailwind.config.js | 2025-12-02 |
|
[7a6f02] init |
| tsconfig.json | 2025-12-02 |
|
[7a6f02] init |
A minimalist meditation timer and breathing exercise application designed to make mindfulness practices accessible to everyone. Built with modern web technologies and optimized for performance across all devices, we are committed to creating meditation tools that serve the global community.
🌐 Live Demo: Zen Moment
We believe meditation should be accessible to everyone, regardless of their background, abilities, or circumstances. Our mission is to create meditation tools(Zen Moment) that serve the global community, making mindfulness practices available to all who seek inner peace and personal growth.
We are dedicated to building pure meditation tools(Zen Moment) that provide a clean, distraction-free environment for people experiencing stress and anxiety. In today's fast-paced world, we aim to be a trusted companion for those who need a moment of calm, offering scientifically-backed techniques to help release tension and find mental clarity.
# Clone the repository
git clone https://github.com/cenyi/zen-moment.git
cd zen-moment
# Install dependencies
npm install
# Start development server
npm run dev
# Open http://localhost:3000 in your browser
# Build for production
npm run build
# Preview production build
npm run preview
# Deploy to Cloudflare Pages
npm run deploy
zen-moment/
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── page.tsx # Homepage - Meditation Timer
│ │ ├── breathing/ # 4-7-8 Breathing Exercise
│ │ ├── stats/ # Advanced Analytics
│ │ ├── blog/ # Blog System
│ │ ├── about/ # About Page
│ │ ├── contact/ # Contact Page
│ │ └── legal/ # Privacy Policy & Terms
│ ├── components/ # Reusable React Components
│ │ ├── Navigation.tsx # Main Navigation
│ │ ├── Timer.tsx # Meditation Timer
│ │ ├── BreathingGuide.tsx # Breathing Exercise UI
│ │ ├── StatsCards.tsx # Analytics Dashboard
│ │ └── BlogPost.tsx # Blog Article Renderer
│ ├── hooks/ # Custom React Hooks
│ │ ├── useTimer.ts # Timer Logic
│ │ ├── useBreathing.ts # Breathing Exercise Logic
│ │ ├── useStats.ts # Analytics Calculations
│ │ ├── useTheme.ts # Theme Management
│ │ ├── useBackgroundSound.ts # Background Audio Management
│ │ └── usePreRecordedSound.ts # Breathing Phase Audio Cues
│ ├── store/ # State Management
│ │ └── timerStore.ts # Global State Store
│ ├── utils/ # Utility Functions
│ │ ├── statsCalculations.ts # Statistical Analysis
│ │ ├── habitAnalysis.ts # Pattern Recognition
│ │ ├── timeFormatters.ts # Time Formatting
│ │ └── blogUtils.ts # Blog Processing
│ └── types/ # TypeScript Type Definitions
├── public/ # Static Assets
│ ├── images/ # Optimized Images
│ ├── sounds/ # Audio Files
│ └── sitemap.xml # SEO Sitemap
├── scripts/ # Build Scripts
└── content/ # Blog Content Management
Our blog system features scientifically-backed meditation content optimized for search engines:
Core Article Topics:
SEO Keywords:
Zen Moment uses Google Analytics to understand how visitors interact with our website and improve the user experience. This analytics service helps us identify which features are most popular and where we can make improvements.
What We Collect:
What We DON'T Collect:
Privacy Protection:
All your meditation and breathing exercise data is stored exclusively on your device using:
Live Site: https://zenmoment.net (Deployed on Cloudflare Pages)
Build Configuration:
Framework: Next.js (Static HTML Export)
Build Command: npx next build
Build Output Directory: out
Node.js Version: 18.x
Environment Variables: NODE_ENV=production
Key Requirements:
dependencies (not devDependencies)output: 'export' in next.config.jsimages: { unoptimized: true }# Test build locally
npm run build
npm run preview
# Validate output
ls -la out/ # Should contain index.html and assets
# Feature development
git checkout -b feature/new-breathing-technique
git commit -m "feat: add box breathing exercise"
git push origin feature/new-breathing-technique
# Bug fixes
git checkout -b fix/timer-animation-bug
git commit -m "fix: resolve timer animation stuttering"
We welcome contributions from the meditation and developer communities:
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)This project is licensed under the MIT License - see the LICENSE file for details.
/docs folderZen Moment - Creating accessible meditation tools for everyone, transforming daily moments into mindful experiences through science-backed practices and intuitive digital tools.
🌐 Visit us: Zen Moment
Made with ❤️ for the global meditation community - Building accessible meditation tools for everyone