TaYYQ/GentleCompanionPublic

AI summary: A SwiftUI-based mental wellness companion app offering mood tracking, breathing exercises, and focus tools.

Stars
66
Forks
2
Watchers
0
Open issues
0
Open PRs
0
Contributors
~1
Commits
6
Branches
1

SwiftMITCreated Jun 24, 2026Last push 24d ago

Star history

since Jul 19, 2026
0204060Jul 2026Jul 2026Jul 2026Aug 2026
66 stars as of Aug 7, 2026, tracked back to Jul 19, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulMonWedFri2025-08-03: 0 commits2025-08-04: 0 commits2025-08-05: 0 commits2025-08-06: 0 commits2025-08-07: 0 commits2025-08-08: 0 commits2025-08-09: 0 commits2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 0 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 0 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 2 commits2026-06-25: 2 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 1 commit2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 1 commit2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits
6 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Permissive license

    MIT

What GentleCompanion does

GentleCompanion is a mental health application designed for modern city dwellers, available on iOS and macOS. It provides a suite of tools to help users manage stress and track their emotional well-being over time. The app integrates features like a customizable Pomodoro timer with Live Activity support, various breathing exercises, and a community 'Gentle Wall' for anonymous mood sharing. It is built natively using Swift and SwiftUI, leveraging Apple ecosystem features like WeatherKit and iCloud synchronization.

The application is for individuals seeking a digital tool to manage stress, improve focus, and track their mood. It is specifically targeted at iOS and macOS users who appreciate native design and empathetic user interfaces.

  • Emotion tracking: recognizes 7 distinct emotional states and tracks mood history.
  • Contextual greetings: provides time-aware greetings and weather-linked empathetic messages.
  • Advanced Pomodoro: features a Liquid Glass style timer with Live Activity support on iOS.
  • Breathing exercises: guides users through 4-7-8 and 4-4-6-2 breathing techniques with visual cues.
  • Community sharing: offers an anonymous 'Gentle Wall' for posting and validating emotional states.

Where teams use it

Daily mood journaling

Recording daily emotions to understand personal mental health trends over time.

Stress relief

Using guided breathing exercises to calm down during moments of anxiety.

Focused work sessions

Utilizing the built-in Pomodoro timer to maintain concentration while working.

Anonymous emotional support

Sharing feelings on the Gentle Wall and receiving supportive interactions from others.

Getting started: Download from the gentle-landing website.

README

main branch

GentleCompanion · 温柔点

A gentle mental wellness companion for modern city dwellers.
为都市人打造的心理健康陪伴应用——用温柔的话语、舒缓的界面、实用的工具,帮你缓解压力、找回内心的节奏。

Platform Swift SwiftUI License Stars

📸 应用截图

iOS 端

陪伴首页 番茄钟 悄悄话
home pomodoro message
温柔墙 我的 社区动态
wall profile social

macOS 端

情绪陪伴 呼吸练习 小游戏
emotion breathing garden

功能特性

🌟 启动体验(iOS)

  • 电影级启动动画:6 阶段渐进式动画(心形淡入 → 心跳脉动 → 色彩演变 → 柔光极光 → 标题逐字浮现 → 优雅渐隐)
  • 首次启动流程引导:启动动画 → 服务器配置 → 激活/注册 → 主界面

🏠 情绪陪伴

  • 时间感知问候:早上好/下午好/晚上好/夜深了
  • 7 种情绪识别:丧/空、疲惫、焦虑、孤独、复杂开心、压抑愤怒、其他
  • 每种情绪配有 8+ 条温柔治愈文案(共 50+ 条)
  • 情绪历史追踪,回顾心情变化轨迹
  • 天气联动情绪文案(WeatherKit)

⏱️ 番茄钟

  • 5 种预设时长:15 / 25 / 30 / 45 / 60 分钟
  • 专注意图设置,完成后的番茄钟分享
  • Liquid Glass 液态玻璃风格面板,呼吸光晕 + 进度环
  • 灵动岛(Live Activity):后台实时显示剩余时间和进度
  • 浮动粒子动画,会话计数器

🌬️ 呼吸练习

  • 4-7-8 呼吸法(iOS):吸气 4s → 屏息 7s → 呼气 8s
  • 4-4-6-2 呼吸法(macOS):吸气 4s → 屏息 4s → 呼气 6s → 屏息 2s
  • 暗色氛围背景 + 粒子动画引导

💬 悄悄话(iOS 私信聊天)

  • 微信风格气泡式聊天界面
  • 会话列表:最后消息预览、未读角标、时间显示
  • 新建会话:输入对方用户 ID 发起对话
  • 本地持久化(UserDefaults)+ 远程同步
  • 进入聊天自动隐藏底部导航

🧱 温柔墙

  • 匿名发布心情消息
  • 6 种情绪标签:温暖、鼓励、希望、感恩、坚强、温柔
  • 点赞功能和漂浮背景粒子动画
  • 空状态引导首次使用

👥 社区动态

  • 发布心情动态,选择情绪标签
  • 点赞/取消点赞
  • 预置种子数据,本地存储

🎮 放松小游戏(macOS)

  • 泡泡解压 (BubblePop):点击泡泡释放压力,连击系统
  • 花园物语 (Garden):12 格花园养成,8 种花卉图鉴
  • 律动圆环 (Rhythm):节奏踩点游戏,combo 连击

👤 个人中心(iOS)

  • 个人资料卡片:头像、昵称、性别、简介
  • 30 种 Emoji 头像 + 本地照片上传
  • 多主题切换预览
  • 每日提醒开关、用户协议、隐私政策

🔐 账号系统

  • 本地账号注册/登录(PBKDF2-SHA256)
  • Apple 登录、游客模式
  • 激活流程 + 欢迎动画

⚙️ 设置(macOS)

  • 背景音效:雨声 / 风声 / 海浪 / 壁炉
  • 沉浸全屏 / 悬浮窗模式
  • 服务器连接配置与诊断
  • 情绪分析:概览 / 分布 / 趋势

🌐 gentle-landing 品牌官网

  • Next.js 14 + React 18 + Tailwind CSS + TypeScript
  • 11 个 Section 单页 Landing Page
  • 下载页(macOS Intel / Apple Silicon)
  • 中英双语国际化(i18n)

技术架构

APP 2/
├── GentleCompanion/                      # iOS + macOS 双端 SwiftUI 应用
│   ├── GentiOSApp.swift                  # iOS @main 入口
│   ├── GentleCompanionApp.swift          # macOS @main 入口
│   ├── ContentView.swift                 # 内容入口
│   ├── Design.swift                      # 集中式设计系统 (Token)
│   ├── Package.swift                     # SPM 包定义
│   ├── Models/                           # 数据层
│   │   ├── Emotion.swift                 # 情绪模型 + 文案
│   │   ├── AccountManager.swift          # 本地账号系统
│   │   ├── AppMode.swift                 # 三模式系统
│   │   ├── NetworkService.swift          # HTTP 客户端
│   │   ├── SocialService.swift           # 社交服务
│   │   └── ...
│   ├── Views/                            # UI 层 (SwiftUI,34 个视图文件)
│   │   ├── iOS 端视图
│   │   │   ├── GentiOSMainView.swift     # 5 Tab 主界面 (Liquid Glass)
│   │   │   ├── GentiOSHomeView.swift     # 陪伴首页 + 情绪记录
│   │   │   ├── PomodoroiOSView.swift     # 番茄钟 + 灵动岛
│   │   │   ├── BreathingiOSView.swift    # 4-7-8 呼吸引导
│   │   │   ├── GentiOSMessageView.swift  # 悄悄话私信
│   │   │   ├── GentiOSWallView.swift     # 温柔墙
│   │   │   ├── GentiOSSocialView.swift   # 社区动态
│   │   │   ├── GentiOSProfileView.swift  # 个人中心
│   │   │   ├── ActivationView.swift      # 注册/登录/激活
│   │   │   ├── WelcomeView.swift         # 欢迎动画
│   │   │   └── ...
│   │   ├── macOS 端视图
│   │   │   ├── GentleMainView.swift      # 主页面
│   │   │   ├── PomodoroView.swift        # 番茄钟
│   │   │   ├── BreathingView.swift       # 呼吸引导
│   │   │   ├── SocialFeedView.swift      # 社交动态
│   │   │   ├── GentleWallView.swift      # 温柔墙
│   │   │   ├── AuthView.swift            # 登录/注册
│   │   │   ├── SettingsView.swift        # 设置
│   │   │   ├── BubblePopGame.swift       # 泡泡解压
│   │   │   ├── GardenGame.swift          # 花园物语
│   │   │   ├── RhythmGame.swift          # 律动圆环
│   │   │   └── ...
│   │   └── 共享组件
│   ├── PomodoroWidget/                   # iOS Widget Extension (灵动岛)
│   ├── Assets.xcassets/                  # 资源文件
│   └── GentleCompanion.entitlements      # 权限配置
│
├── gentle-landing/                       # Next.js 品牌官网
│   ├── src/
│   │   ├── app/                          # App Router 页面
│   │   │   ├── page.tsx                  # 首页 (11 Section 组件)
│   │   │   └── download/page.tsx         # 下载页
│   │   ├── components/                   # 组件
│   │   │   ├── Hero.tsx                  # 主标题 + 下载入口
│   │   │   ├── Features.tsx              # 6 大功能卡片
│   │   │   ├── Weather.tsx               # 天气心情联动
│   │   │   ├── Pomodoro.tsx              # 番茄钟介绍
│   │   │   ├── Breathing.tsx             # 呼吸法介绍
│   │   │   ├── GentleWall.tsx            # 温柔墙展示
│   │   │   ├── Story.tsx                 # 品牌故事
│   │   │   ├── Developer.tsx             # 开发者介绍
│   │   │   ├── Download.tsx              # 下载号召
│   │   │   └── Footer.tsx
│   │   ├── contexts/LangContext.tsx      # 中英双语切换
│   │   └── locales/                      # i18n 翻译文件
│   ├── public/                           # 静态资源
│   ├── next.config.js
│   ├── tailwind.config.ts
│   └── package.json
│
└── backend/
    ├── main.py                           # FastAPI Python 后端
    └── requirements.txt

技术栈

层级 技术
移动端 UI SwiftUI (iOS 17+ / macOS 14+)
灵动岛 ActivityKit + Widget Extension
设计 集中式 Design Token 系统 + Liquid Glass 液态玻璃风格
状态管理 Combine (@StateObject, @ObservedObject, @Published)
网络 async/await + URLSession
认证 CryptoKit + CommonCrypto (PBKDF2)
Apple 服务 AuthenticationServices, WeatherKit, CoreLocation, UserNotifications
官网 Next.js 14 + React 18 + TypeScript + Tailwind CSS
后端 FastAPI (Python 3.11+) + PHP 7.4+
数据库 内存数据库 (开发) / MySQL (生产)
部署 Docker + Nginx 反向代理

设计系统

所有颜色、字体、间距、圆角、阴影通过 Design.swift 集中管理。iOS 端采用 Liquid Glass 液态玻璃设计语言,macOS 端支持多主题自动检测。


快速开始

前置要求

  • macOS 14.0+
  • Xcode 16+
  • Swift 6.0
  • iOS 17.0+(移动端)
  • Node.js 18+(官网项目)

构建运行

# 克隆仓库
git clone https://github.com/TaYYQ/GentleCompanion.git
cd "APP 2"

# === iOS 端 ===
# 在 Xcode 中打开项目,选择 GentiOSApp scheme + 真机/模拟器
open GentleCompanion/GentleCompanion.xcodeproj
# 选择 GentiOSApp target,⌘R 运行

# === macOS 端 ===
# 选择 GentleCompanion target,⌘R 运行
# 或命令行构建:
cd GentleCompanion
swift build

# === 品牌官网 ===
cd gentle-landing
npm install
npm run dev          # 开发模式 http://localhost:3000
npm run build        # 生产构建

### 连接你的服务器

1. 部署后端 API 服务(详见下方 [部署指南](#部署指南))
2. 打开 App → 点击右上角 **设置** ⚙️
3. 在「服务器连接」中输入你的 **IP 地址****端口**
4. 点击 **重新检测**,绿灯亮起即连接成功

> 💡 默认地址为 `127.0.0.1:80`,适用于本机部署。连接远程服务器请输入公网 IP。

---

## API 接口

所有 API 位于 `/api/` 路径下:

| 分类 | 端点 | 说明 |
|------|------|------|
| **Auth** | `POST /api/auth/register` | 注册 |
| | `POST /api/auth/login` | 登录 |
| **User** | `GET /api/user/profile` | 获取个人资料 |
| | `PUT /api/user/profile` | 更新个人资料 |
| **Social** | `GET /api/social/feed` | 动态列表 |
| | `POST /api/social/posts` | 发布动态 |
| | `POST /api/social/posts/{id}/like` | 点赞 |
| | `POST /api/social/share-pomodoro` | 番茄钟分享 |
| **Follow** | `POST /api/social/follow/{userId}` | 关注用户 |
| | `POST /api/social/unfollow/{userId}` | 取关 |
| | `GET /api/social/followers` | 粉丝列表 |
| | `GET /api/social/following` | 关注列表 |
| **Friends** | `GET /api/social/friends` | 好友列表 |
| | `POST /api/social/friend-requests` | 发送好友请求 |
| | `POST /api/social/friend-requests/{id}/respond` | 处理好友请求 |
| **Messages** | `GET /api/social/conversations` | 会话列表 |
| | `POST /api/social/messages` | 发送消息 |
| **Leaderboard** | `GET /api/social/leaderboard` | 排行榜 |

---

## 部署指南

### 使用 Docker

```bash
cd GentleCompanion
docker compose up -d --build

服务架构:

nginx (:80) → /api/* → FastAPI (:8000)
            → *.php  → PHP-FPM (:9000) → MySQL (:3306)

手动部署(宝塔面板)

  1. backend/main.py 上传至你的服务器
  2. 安装 Python 3.11+ 及依赖:pip install fastapi uvicorn pydantic
  3. 启动服务:nohup python3 main.py &
  4. 配置 Nginx 反向代理 127.0.0.1:8000

项目计划

  • 情绪陪伴系统
  • 番茄钟专注
  • 呼吸练习
  • 小游戏(macOS)
  • 温柔墙
  • 社交网络
  • 账号系统
  • 天气集成
  • iOS 端适配(5 Tab 主界面 + 34 视图)
  • 灵动岛(Live Activity)
  • 悄悄话私信聊天
  • 品牌官网(gentle-landing)
  • 数据持久化(SQLite / CoreData)
  • 单元测试覆盖
  • CI/CD 自动构建

贡献指南

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建特性分支:git checkout -b feat/amazing-feature
  3. 提交更改:git commit -m 'feat: add amazing feature'
  4. 推送分支:git push origin feat/amazing-feature
  5. 发起 Pull Request

开源协议

本项目采用 MIT License 开源。

View on GitHub

Recent activity

commits and pull requests

Code frequency

additions and deletions
+22.8K-22.8KWeek of 2026-06-21: +22,752 linesWeek of 2026-06-21: -28 linesWeek of 2026-06-28: +1,595 linesWeek of 2026-06-28: -144 linesWeek of 2026-07-05: +0 linesWeek of 2026-07-05: -0 linesWeek of 2026-07-12: +12,360 linesWeek of 2026-07-12: -1,902 linesWeek of 2026-07-19: +0 linesWeek of 2026-07-19: -0 linesWeek of 2026-07-26: +0 linesWeek of 2026-07-26: -0 linesWeek of 2026-08-02: +0 linesWeek of 2026-08-02: -0 linesJun 21, 2026Aug 2, 2026
+36.7K lines added, -2.1K removed over the last year.

Commits per week

last 52 weeks
40Week of 2025-08-03: 0 commitsWeek of 2025-08-10: 0 commitsWeek of 2025-08-17: 0 commitsWeek of 2025-08-24: 0 commitsWeek of 2025-08-31: 0 commitsWeek of 2025-09-07: 0 commitsWeek of 2025-09-14: 0 commitsWeek of 2025-09-21: 0 commitsWeek of 2025-09-28: 0 commitsWeek of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 0 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 4 commitsWeek of 2026-06-28: 1 commitsWeek of 2026-07-05: 0 commitsWeek of 2026-07-12: 1 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 0 commitsAug 3, 2025Jul 26, 2026
6 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 0 commitsSun 11:00 — 0 commitsSun 12:00 — 0 commitsSun 13:00 — 0 commitsSun 14:00 — 0 commitsSun 15:00 — 0 commitsSun 16:00 — 0 commitsSun 17:00 — 0 commitsSun 18:00 — 0 commitsSun 19:00 — 0 commitsSun 20:00 — 0 commitsSun 21:00 — 0 commitsSun 22:00 — 0 commitsSun 23:00 — 0 commitsMon 0:00 — 0 commitsMon 1:00 — 0 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 0 commitsMon 10:00 — 0 commitsMon 11:00 — 0 commitsMon 12:00 — 0 commitsMon 13:00 — 0 commitsMon 14:00 — 0 commitsMon 15:00 — 0 commitsMon 16:00 — 0 commitsMon 17:00 — 0 commitsMon 18:00 — 0 commitsMon 19:00 — 0 commitsMon 20:00 — 0 commitsMon 21:00 — 0 commitsMon 22:00 — 0 commitsMon 23:00 — 0 commitsTue 0:00 — 0 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 1 commitsTue 10:00 — 0 commitsTue 11:00 — 0 commitsTue 12:00 — 0 commitsTue 13:00 — 0 commitsTue 14:00 — 0 commitsTue 15:00 — 0 commitsTue 16:00 — 0 commitsTue 17:00 — 0 commitsTue 18:00 — 0 commitsTue 19:00 — 0 commitsTue 20:00 — 0 commitsTue 21:00 — 0 commitsTue 22:00 — 0 commitsTue 23:00 — 0 commitsWed 0:00 — 0 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 0 commitsWed 10:00 — 0 commitsWed 11:00 — 0 commitsWed 12:00 — 0 commitsWed 13:00 — 0 commitsWed 14:00 — 0 commitsWed 15:00 — 0 commitsWed 16:00 — 0 commitsWed 17:00 — 0 commitsWed 18:00 — 0 commitsWed 19:00 — 0 commitsWed 20:00 — 0 commitsWed 21:00 — 0 commitsWed 22:00 — 0 commitsWed 23:00 — 2 commitsThu 0:00 — 0 commitsThu 1:00 — 0 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 0 commitsThu 11:00 — 2 commitsThu 12:00 — 0 commitsThu 13:00 — 0 commitsThu 14:00 — 0 commitsThu 15:00 — 0 commitsThu 16:00 — 0 commitsThu 17:00 — 0 commitsThu 18:00 — 0 commitsThu 19:00 — 0 commitsThu 20:00 — 0 commitsThu 21:00 — 0 commitsThu 22:00 — 0 commitsThu 23:00 — 0 commitsFri 0:00 — 0 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 0 commitsFri 11:00 — 0 commitsFri 12:00 — 0 commitsFri 13:00 — 0 commitsFri 14:00 — 0 commitsFri 15:00 — 0 commitsFri 16:00 — 0 commitsFri 17:00 — 0 commitsFri 18:00 — 0 commitsFri 19:00 — 0 commitsFri 20:00 — 0 commitsFri 21:00 — 0 commitsFri 22:00 — 1 commitsFri 23:00 — 0 commitsSat 0:00 — 0 commitsSat 1:00 — 0 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 0 commitsSat 13:00 — 0 commitsSat 14:00 — 0 commitsSat 15:00 — 0 commitsSat 16:00 — 0 commitsSat 17:00 — 0 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 0 commitsSat 21:00 — 0 commitsSat 22:00 — 0 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Jul 20, 2026daily#25+2
  • jaywcjlove/awesome-mac

     This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

    109.3K stars · Swift

  • apple/container

    A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It is written in Swift, and optimized for Apple silicon.

    48.7K stars · Swift

  • permissionlesstech/bitchat

    bluetooth mesh chat, IRC vibes

    34.7K stars · Swift

  • manaflow-ai/cmux

    Open source Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents. Built for multitasking, organization, and programmability.

    25.7K stars · Swift

  • steipete/CodexBar

    Show usage stats for OpenAI Codex and Claude Code, without having to login.

    19.7K stars · Swift

  • supertone-inc/supertonic

    Lightning-Fast, On-Device, Multilingual TTS — running natively via ONNX.

    13.6K stars · Swift