{"id":50659816,"url":"https://github.com/nianyi778/rise-app","last_synced_at":"2026-06-08T01:32:45.572Z","repository":{"id":359086570,"uuid":"1244357003","full_name":"nianyi778/rise-app","owner":"nianyi778","description":"别让紧急的事，埋掉重要的你 · AI life coach WeChat Mini Program that guards your Q2 goals","archived":false,"fork":false,"pushed_at":"2026-05-20T09:41:18.000Z","size":147,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-20T13:41:29.992Z","etag":null,"topics":["ai","claude","goal-tracking","hono","postgresql","typescript","wechat-miniprogram"],"latest_commit_sha":null,"homepage":null,"language":"HTML","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/nianyi778.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":"2026-05-20T07:32:58.000Z","updated_at":"2026-05-20T09:41:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nianyi778/rise-app","commit_stats":null,"previous_names":["nianyi778/rise-app"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/nianyi778/rise-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nianyi778%2Frise-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nianyi778%2Frise-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nianyi778%2Frise-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nianyi778%2Frise-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nianyi778","download_url":"https://codeload.github.com/nianyi778/rise-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nianyi778%2Frise-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34044919,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-07T02:00:07.652Z","response_time":124,"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":["ai","claude","goal-tracking","hono","postgresql","typescript","wechat-miniprogram"],"created_at":"2026-06-08T01:32:44.110Z","updated_at":"2026-06-08T01:32:45.538Z","avatar_url":"https://github.com/nianyi778.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rise 瑞\n\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\n![Node.js](https://img.shields.io/badge/node.js-22-green.svg)\n![WeChat Mini Program](https://img.shields.io/badge/WeChat-Mini%20Program-07c160.svg)\n\n\u003e **别让紧急的事，埋掉重要的你。**\n\u003e Don't let urgent things bury the important you.\n\nRise is a WeChat Mini Program AI life coach for Chinese office workers (25–35). It helps users protect their Q2 goals — the important-but-not-urgent things that keep getting buried by daily urgency. Input a goal, get a 21-day AI plan, track daily focus sessions, and receive weekly progress reports.\n\n---\n\n## Features 功能特性\n\n- **AI Goal Planning** — Claude Sonnet analyzes your goal and generates a structured 21-day action plan with daily 25-minute tasks\n- **Daily Focus Timer** — built-in Pomodoro-style focus session with animated progress tracking\n- **Check-in \u0026 Reflection** — post-session mood logging + streaming AI reflection chat powered by Claude Haiku\n- **Weekly Reports** — personalized weekly digest visualizing completion streaks, focus time, and growth insights\n- **Glassmorphism UI** — iOS-style frosted glass aesthetic with a warm cream × deep navy × amber palette\n- **WeChat Auth** — one-tap login via WeChat OAuth, no password required\n\n---\n\n## Tech Stack 技术栈\n\n| Layer | Technology |\n|---|---|\n| Frontend | WeChat Mini Program (TypeScript, WXML, WXSS) — native, no frameworks |\n| Backend | Node.js 22 + Hono.js |\n| Database | PostgreSQL 16 |\n| AI | Anthropic Claude Sonnet (plan generation) + Haiku (daily actions, streaming chat) |\n| Auth | WeChat OAuth 2.0 → JWT |\n| Deployment | Docker + docker-compose on Tencent Cloud HK VPS (2c2g) |\n| HTTPS | Certbot (Let's Encrypt) + Nginx |\n\n---\n\n## Quick Start 快速开始\n\n### Prerequisites\n\n- Node.js 22+\n- Docker \u0026 docker-compose\n- WeChat DevTools (latest)\n- An [Anthropic API key](https://console.anthropic.com/)\n- A WeChat Mini Program AppID + Secret (from [mp.weixin.qq.com](https://mp.weixin.qq.com))\n\n### 1. Clone\n\n```bash\ngit clone https://github.com/your-username/rise-app.git\ncd rise-app\n```\n\n### 2. Backend Setup\n\n```bash\n# Copy and fill in environment variables\ncp backend/.env.example backend/.env\n# Edit backend/.env — see Environment Variables section below\n\n# Start PostgreSQL + API server\ndocker-compose up -d\n\n# Verify\ncurl http://localhost:3000/health\n```\n\n### 3. Run Migrations\n\n```bash\n# Migrations run automatically on container start via the entrypoint script.\n# To run manually:\ndocker-compose exec api node dist/db/migrate.js\n```\n\n### 4. Frontend Setup\n\n1. Open **WeChat DevTools** → Import Project → select the `miniprogram/` directory\n2. Set your AppID in `project.config.json`\n3. In `miniprogram/api/index.ts`, update `BASE_URL` to point to your backend (e.g. `https://your-domain.com/api`)\n4. Click **Compile** — the app loads in the simulator\n\n---\n\n## Environment Variables 环境变量\n\nCreate `backend/.env` from the example file. All variables are required.\n\n| Variable | Description | Example |\n|---|---|---|\n| `PORT` | HTTP port the API listens on | `3000` |\n| `DATABASE_URL` | Full PostgreSQL connection string | `postgresql://rise:password@postgres:5432/rise` |\n| `DB_PASSWORD` | PostgreSQL password (used by docker-compose) | `changeme` |\n| `ANTHROPIC_API_KEY` | Anthropic API key for Claude | `sk-ant-...` |\n| `JWT_SECRET` | Secret for signing JWTs (32+ random chars) | `your-jwt-secret` |\n| `WX_APPID` | WeChat Mini Program App ID | `wx1234567890abcdef` |\n| `WX_SECRET` | WeChat Mini Program App Secret | `abc123...` |\n\n---\n\n## Deployment 部署\n\n### First-time VPS Setup\n\n```bash\n# Run the setup script on a fresh Ubuntu 22.04 VPS\nbash scripts/setup-server.sh\n```\n\nThis installs Docker, docker-compose, Nginx, Certbot, and configures the firewall.\n\n### HTTPS with Certbot\n\n```bash\n# After DNS points to your server\nsudo certbot --nginx -d your-domain.com\n```\n\nNginx proxies `your-domain.com/api` → `localhost:3000`.\n\n### Deploy Updates\n\n```bash\n# From your local machine (requires SSH access)\nbash scripts/deploy.sh\n```\n\nThe deploy script performs a rolling update: pulls the latest image, restarts the API container with zero database downtime.\n\n### docker-compose Services\n\n| Service | Description |\n|---|---|\n| `api` | Hono.js backend (Node 22, port 3000) |\n| `postgres` | PostgreSQL 16 with persistent volume |\n\n---\n\n## Project Structure 项目结构\n\n```\nrise-app/\n├── miniprogram/              # WeChat Mini Program frontend\n│   ├── pages/                # 8 pages: welcome, wizard, home, focus, complete, reflection, report, goals\n│   ├── api/index.ts          # API client with snake_case→camelCase mapping\n│   ├── store/index.ts        # Lightweight pub-sub store\n│   ├── utils/                # Helpers (Canvas, date, animation)\n│   └── custom-tab-bar/       # Glassmorphism tab bar with SVG icons\n├── backend/                  # Hono.js API server\n│   └── src/\n│       ├── routes/           # auth, goals, checkin, ai, report\n│       ├── db/               # PostgreSQL schema + migrations\n│       ├── ai/               # Claude prompt builders\n│       └── middleware/       # JWT auth\n├── scripts/\n│   ├── setup-server.sh       # First-time VPS setup\n│   └── deploy.sh             # Rolling deploy\n├── docker-compose.yml        # api + postgres services\n└── design/                   # HTML prototypes (open in browser to preview)\n```\n\n---\n\n## Contributing 贡献\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feat/your-feature`\n3. Commit your changes with clear messages\n4. Open a Pull Request describing what you changed and why\n\nPlease keep PRs focused — one feature or fix per PR. For significant changes, open an issue first to discuss the approach.\n\n---\n\n## License\n\nMIT © 2025 Rise 瑞\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnianyi778%2Frise-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnianyi778%2Frise-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnianyi778%2Frise-app/lists"}