ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Educational investment simulator — AI-native engineering portfolio project
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Educational investment simulator (portfolio project). No real money is
held, transferred, or invested — every balance and trade is simulated.
Live demo: _(set after Vercel deploy — replace this line with your
production URL)_
API health: https://capitalflow-api.onrender.com/health
Stream health: https://capitalflow-stream.onrender.com/health查看完整 README ↗Educational investment simulator (portfolio project). No real money is held, transferred, or invested — every balance and trade is simulated.
Live demo: (set after Vercel deploy — replace this line with your production URL)
API health:https://capitalflow-api.onrender.com/health
Stream health:https://capitalflow-stream.onrender.com/health
# Node 22 (see .nvmrc)
pnpm install
pnpm docker:up # Postgres + Redis
cp apps/api/.env.example apps/api/.env
cp apps/market-stream/.env.example apps/market-stream/.env
# Fill JWT keys + FINNHUB_API_KEY — see .env.example at repo root
pnpm --filter api exec prisma migrate deploy
pnpm dev # web :3000, api :3001, market-stream :3002
flowchart LR
Browser --> Web["apps/web (Vercel)"]
Web -->|"same-origin /auth /portfolio rewrite"| Api["apps/api (Render)"]
Browser -->|"WSS + Bearer token"| Stream["apps/market-stream (Render)"]
Api --> Neon[(Neon Postgres)]
Api --> Redis[(Render Redis)]
Stream --> Redis
Stream --> Finnhub[Finnhub delayed quotes]
/app/market (badge Simulator mode in nav).There is no real email. POST /auth/forgot-password logs:
[password-reset] user=<email> link=<url>
in Render’s capitalflow-api logs. Copy the link from there to complete a
reset. Locally, the API also returns resetLink in the JSON body and the
UI shows it.
| Var | Where | Notes |
|---|---|---|
DATABASE_URL | Render api | Neon pooled URL + sslmode=require |
REDIS_URL | Render api + stream | From Render Redis |
JWT_ACCESS_PRIVATE_KEY | Render api | PEM with \n escapes |
JWT_ACCESS_PUBLIC_KEY | Render api + stream | Same public key |
FINNHUB_API_KEY | Render stream only | Never on api |
WEB_APP_ORIGIN | Render both | Exact Vercel production URL |
API_UPSTREAM_URL | Vercel (server) | Render api URL for rewrites |
NEXT_PUBLIC_API_URL | Vercel | Empty in production |
NEXT_PUBLIC_MARKET_STREAM_URL | Vercel | Render stream URL |
Full table and one-time cloud setup: infra/DEPLOY.md.
Render free tier spins down after ~15 minutes idle. A GitHub Actions
keep-alive pings /health every 10 minutes. The web UI still shows a
non-blocking wake-up banner on the first 502/503/network error within 60s.
Feature work follows Spec-Driven Development under specs/. See
CLAUDE.md for stack and conventions.