尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Web application to share memories.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Memories and messages from the family for Carlo, at carlo-app.com.
Needs Node 24 and a .env.local with GOOGLE_ID, GOOGLE_CLIENT_SECRET, MONGODB_URI, NEXTAUTH_URL and NEXTAUTH_SECRET. That file is git-ignored; never commit it.
npm install
npm run dev
Local development and Vercel previews use the carlo_app_preview database; only the production deployment reads the real memories in carlo_app.
Photos and voice notes go to the private Vercel Blob store when BLOB_READ_WRITE_TOKEN is set. Without it, as in local development and tests, they go to .media-local/ (git-ignored). Vercel deployments refuse to run without the token.
| Command | Runs |
|---|---|
npm test | Unit and integration tests (Vitest, with a throwaway in-memory MongoDB) |
npm run test:coverage | The same, with the coverage floors CI enforces |
npm run test:e2e | Browser tests (Playwright) in Chromium, Firefox, WebKit and an iPhone-sized screen. Run npm run build first, and npx playwright install once |
npm run test:all | Everything CI runs: lint, coverage, build, browser tests |
Tests never use real secrets or real data: the browser tests start their own database and sign in with a session cookie signed by a test-only secret.
tests/unit/ pure functionstests/integration/ API routes against a real database; permissions.test.js generates a test for every cell of tests/fixtures/permissions.jstests/e2e/ user flows; tests tagged @smoke also run against every Vercel deploymentEvery change ships with tests, and a bug fix starts with a test that fails because of the bug.
Each names its database with --db (carlo_app is production) and only previews what it would do unless given --apply.
node --env-file=.env.local scripts/migrate-invites.mjs --db carlo_app # put everyone with a memory on the allow list
node --env-file=.env.local scripts/make-admin.mjs [email protected] --db carlo_app # make an account the admin
GitHub Actions runs .github/workflows/ci.yml on every pull request. main only accepts a merge when the ci-passed check and the preview smoke test pass. smoke.yml checks each Vercel deployment from outside, and weekly.yml reruns everything on Mondays.