{"id":49515164,"url":"https://github.com/pedrol2b/yume","last_synced_at":"2026-05-01T21:35:43.243Z","repository":{"id":315003115,"uuid":"1057629249","full_name":"pedrol2b/yume","owner":"pedrol2b","description":"📱 A mental health tool with breathing and grounding exercises for anxiety and panic attacks. Includes customizable patterns, calming mantras, and the 5-4-3-2-1 technique to support mindfulness and emotional regulation","archived":false,"fork":false,"pushed_at":"2025-09-19T04:40:03.000Z","size":5688,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-12T04:55:59.693Z","etag":null,"topics":["android","capacitor","ios","pwa","web"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pedrol2b.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2025-09-16T02:04:02.000Z","updated_at":"2025-10-15T22:05:42.000Z","dependencies_parsed_at":"2025-09-16T06:33:08.899Z","dependency_job_id":"60c6fde8-b155-46ad-a838-54f1fd8caccc","html_url":"https://github.com/pedrol2b/yume","commit_stats":null,"previous_names":["pedrol2b/yume"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/pedrol2b/yume","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedrol2b%2Fyume","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedrol2b%2Fyume/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedrol2b%2Fyume/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedrol2b%2Fyume/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pedrol2b","download_url":"https://codeload.github.com/pedrol2b/yume/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedrol2b%2Fyume/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32514000,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["android","capacitor","ios","pwa","web"],"created_at":"2026-05-01T21:35:43.151Z","updated_at":"2026-05-01T21:35:43.225Z","avatar_url":"https://github.com/pedrol2b.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# yume\n\n\u003cdiv align=\"right\"\u003e\n\u003cimg align=\"right\" src=\"https://github.com/user-attachments/assets/8eafc0fa-fec8-4b7a-aee7-a9d4d079d90d\" width=\"320\" target=\"_blank\"\u003e\n\u003c/div\u003e\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n\n📦 The app serves as a comprehensive mental health tool combining evidence-based breathing techniques with grounding exercises, designed specifically for anxiety management and panic attack situations.\n\nThe idea is to provide users with a simple, intuitive interface to help them manage anxiety and panic attacks through guided breathing exercises and grounding techniques.\n\nI came up with the idea after a dearest friend of mine suffered a panic attack and I wanted to help her.\n\n## Core Functionality\n\n**Guided Breathing Exercises**\n\n- 4-7-8 breathing technique with visual circle animation\n- Customizable timing for inhale (4s), hold (7s), and exhale (8s) phases\n- Visual breathing circle that expands/contracts with breath phases\n- Static circle during hold phases for proper guidance\n- Audio-free, visual-only guidance suitable for any environment\n\n\n**5-4-3-2-1 Grounding Exercise**\n\n- Interactive grounding technique for anxiety management\n- Step-by-step prompts: 5 things to see, 4 to touch, 3 to hear, 2 to smell, 1 to taste\n- Contextual icons for each sense (Eye, Hand, Ear, Flower, Coffee)\n- Progress tracking through each step with completion screen\n\n## 🚀 Technical Stack \u0026 Architecture\n\nYume is built as a **Progressive Web App (PWA)** that can be deployed both as a web application and as a native Android APK. This hybrid approach ensures maximum accessibility across platforms while maintaining native app performance.\n\n### **Core Technologies**\n- **Framework**: Next.js 14 with App Router\n- **Styling**: Tailwind CSS 4.1 with custom animations\n- **UI Components**: Radix UI primitives with custom styling\n- **TypeScript**: Full type safety throughout the application\n- **PWA**: Service Workers with offline support via Workbox\n- **Mobile**: Capacitor for native Android APK generation\n\n### **PWA Features**\n- 📱 **Installable**: Add to home screen on mobile devices\n- 🔄 **Offline Support**: Works without internet after first load\n- ⚡ **Fast Loading**: Service worker caching for instant startup\n- 🎨 **Native Feel**: Standalone app experience with custom splash screen\n- 🔔 **App Manifest**: Proper PWA metadata and shortcuts\n\n### **Android APK Generation**\n- **Capacitor**: Ionic's native runtime for web apps\n- **Gradle Build System**: Android's official build tools\n- **Signed APKs**: Debug keystore for installable applications\n- **Java 17**: Modern development environment compatibility\n\n## 🛠️ Development Setup\n\n### **Prerequisites**\n```bash\n# Required tools\n- Node.js 18+\n- pnpm (package manager)\n- Java JDK 17\n- Android SDK (for APK builds)\n```\n\n### **Installation**\n```bash\n# Clone the repository\ngit clone https://github.com/pedrol2b/yume.git\ncd yume\n\n# Install dependencies\npnpm install\n\n# Start development server\npnpm dev\n```\n\n## 📱 Building for Android\n\n### **Quick Build (Recommended)**\n```bash\n# Build PWA + Android APK in one command\nnpm run deploy:android\n```\n\nThis will:\n1. Build the Next.js application with PWA features\n2. Generate service workers for offline support\n3. Build and sign the Android APK\n4. Output `yume-release.apk` ready for installation\n\n### **Step-by-Step Build Process**\n\n#### **1. Initial Setup**\n```bash\n# Set up Android platform and generate signing keystore\nnpm run apk:setup\n```\n\n#### **2. Build PWA**\n```bash\n# Build Next.js app with PWA features\nnpm run pwa:build\n```\n\n#### **3. Build APK**\n```bash\n# Build release APK\nnpm run apk:build\n\n# Or build debug APK\nnpm run apk:build-debug\n\n# Or build both\nnpm run apk:full-build\n```\n\n### **Available Build Scripts**\n\n| Script | Description |\n|--------|-------------|\n| `npm run deploy:android` | Complete build pipeline (PWA + APK) |\n| `npm run pwa:build` | Build PWA with service workers |\n| `npm run apk:build` | Build signed release APK |\n| `npm run apk:build-debug` | Build debug APK for testing |\n| `npm run android:clean` | Clean build cache |\n| `npm run android:run` | Build and run on Android device |\n\n## 📦 PWA Configuration\n\n### **Service Worker Features**\n- **Precaching**: All static assets cached on first visit\n- **Runtime Caching**: Dynamic content caching strategies\n- **Offline Fallbacks**: App works without internet connection\n- **Cache Strategies**: Network-first for API, cache-first for assets\n\n### **Manifest Configuration**\n```json\n{\n  \"name\": \"Yume - Dream\",\n  \"short_name\": \"Yume\",\n  \"start_url\": \"/\",\n  \"display\": \"standalone\",\n  \"background_color\": \"#f8fafc\",\n  \"theme_color\": \"#0ea5e9\",\n  \"icons\": [\n    { \"src\": \"/icon-192.png\", \"sizes\": \"192x192\" },\n    { \"src\": \"/icon-512.png\", \"sizes\": \"512x512\" }\n  ]\n}\n```\n\n## 🔧 Build Configuration\n\n### **Next.js PWA Setup**\n```javascript\n// next.config.mjs\nimport withPWAInit from \"@ducanh2912/next-pwa\";\n\nconst withPWA = withPWAInit({\n  dest: \"public\",\n  disable: process.env.NODE_ENV === \"development\",\n  workboxOptions: {\n    disableDevLogs: true,\n  },\n});\n```\n\n### **Capacitor Configuration**\n```typescript\n// capacitor.config.ts\nconst config: CapacitorConfig = {\n  appId: 'com.pedrol2b.yume',\n  appName: 'Yume',\n  webDir: 'out',\n  server: {\n    androidScheme: 'https'\n  }\n};\n```\n\n## 📲 Installation \u0026 Distribution\n\n### **Web PWA**\n1. Visit the web app in any modern browser\n2. Look for \"Add to Home Screen\" prompt\n3. Install as PWA for native app experience\n\n### **Android APK**\n1. Download `yume-release.apk` from releases\n2. Enable \"Unknown Sources\" in Android settings\n3. Install the APK file\n4. App appears in your app drawer as \"Yume\"\n\n### **Development Testing**\n```bash\n# Run on Android emulator\nnpm run android:run\n\n# Build and copy APK to device\nnpm run apk:build\n# Transfer yume-release.apk to device and install\n```\n\n## 🏗️ Architecture Decisions\n\n### **Why PWA + Capacitor?**\n- **Universal Compatibility**: One codebase for web and mobile\n- **Offline-First**: Essential for anxiety relief tool availability\n- **Fast Development**: Leverage web technologies for mobile\n- **Easy Updates**: Web-based updates without app store delays\n\n### **Why Next.js?**\n- **Static Export**: Perfect for PWA deployment\n- **Performance**: Built-in optimizations for mobile\n- **TypeScript**: Type safety for reliable anxiety management tools\n- **Modern DX**: Great developer experience for rapid iteration\n\n[contributors-shield]: https://img.shields.io/github/contributors/pedrol2b/yume.svg?style=for-the-badge\n[contributors-url]: https://github.com/pedrol2b/yume/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/pedrol2b/yume.svg?style=for-the-badge\n[forks-url]: https://github.com/pedrol2b/yume/network/members\n[stars-shield]: https://img.shields.io/github/stars/pedrol2b/yume.svg?style=for-the-badge\n[stars-url]: https://github.com/pedrol2b/yume/stargazers\n[issues-shield]: https://img.shields.io/github/issues/pedrol2b/yume.svg?style=for-the-badge\n[issues-url]: https://github.com/pedrol2b/yume/issues\n[license-shield]: https://img.shields.io/github/license/pedrol2b/yume.svg?style=for-the-badge\n[license-url]: https://github.com/pedrol2b/yume/blob/main/LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpedrol2b%2Fyume","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpedrol2b%2Fyume","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpedrol2b%2Fyume/lists"}