尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Open source platform for managing local solidarity funds
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Run a fund your community counts on.
Open source · Multi-tenant · Hosted or self-hosted
La Caisse gives solidarity funds, clubs, and community spaces the tools to manage members, track every contribution, and pay out without friction — under your own brand, on your own terms.
La Caisse is a multi-fund web app for managing local solidarity funds — local solidarity food funds and similar initiatives — covering their members, cards, tokens, and partner merchants.
The project originated as the platform built for La CLASS (Caisse locale de l'alimentation solidaire ASBL) by Citizen Pay, and was open-sourced so that other funds can deploy, customize, and improve it.
La Caisse connects three groups around a single fund:
For members
For fund teams
For merchants
Every fund runs independently — on the official instance or a self-hosted one — and is configurable on its own:
Funds are isolated from one another, with GDPR-conscious data handling throughout.
@prisma/adapter-pg driver adapter (Supavisor pooler, transaction mode)base-nova style on Base UI primitives, Tailwind CSS v4, Lucide iconsreact-hook-form + zod (schemas shared between client validation and server-action input parsing)The interface is available in English, Français, Nederlands, and Español (default: French). Adding a locale is a JSON file plus one entry in services/i18n/locale.ts.
git clone https://github.com/lacaisse/webapp.git
cd webapp
npm install
cp .env.example .env
Fill in the environment variables in .env (see Configuration), then generate the Prisma client and apply migrations:
npx prisma generate
npx prisma migrate deploy
npm run dev
The app runs at http://localhost:3000. Funds resolve by host — visit http://<subdomain>.localhost:3000 (modern browsers resolve *.localhost to 127.0.0.1 automatically).
npm run build
npm start
The same checks that gate every pull request can be run locally:
npm run lint # ESLint
npm run typecheck # tsc --noEmit
npm run test # Vitest
npm run guard # convention & permission guards
npm run audit:ci # dependency vulnerability gate
Environment variables (see .env.example for the full, documented list):
# App — apex domain (no protocol, no subdomain) and its public mirror
APP_DOMAIN="localhost"
NEXT_PUBLIC_APP_DOMAIN="localhost"
# Better Auth — signing secret (generate with: openssl rand -hex 32)
BETTER_AUTH_SECRET=""
# Database (Prisma against Supabase Postgres)
# Pooled connection (Supavisor, transaction mode, port 6543) — runtime
DATABASE_URL=""
# Direct connection (port 5432) — Prisma CLI for migrations, studio
DIRECT_URL=""
# Email (Resend)
RESEND_API_KEY=""
EMAIL_FROM="La Caisse <[email protected]>"
# At-rest encryption for secrets stored in the DB (32 bytes / 64 hex)
APP_CRED_KEY=""
La Caisse is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE for the full text.
If the AGPL-3.0 does not suit your use case, commercial licenses are available. Contact [email protected] to discuss.
Contributions are welcome — pull requests, bug reports, feature proposals. They are reviewed by Citizen Pay based on roadmap alignment, technical quality, and priority relative to ongoing work.
For any substantial new feature, please open an issue first to discuss the proposal before submitting code.
The roadmap is funding-driven. An organization (fund, foundation, public body) that wants a specific feature prioritized can do so by sponsoring its development.
Citizen Pay BV is the project's primary maintainer: