Genero is a Next.js monorepo for applications that implements local "citycoins", built on new monetary principles. The first implementation is T-Coin, a Toronto-focused digital currency. The repository contains two main app variants: wallet for payments and sparechange for micro‑donations. These apps live under app/[CITYCOIN]/[APP_NAME] where the values are provided via environment variables.
The project integrates Supabase for storage, Cubid for identity and wallet management and Twilio for SMS based verification. UI components are built with React, TailwindCSS and Radix.
- Node.js 20+
- pnpm
- Copy
.env.local.exampleto.env.localand populate the variables. The sample file lists the expected values and explains what each is for. - Install dependencies:
pnpm install
- Start the development server:
pnpm dev
Open http://localhost:3000 in your browser. Next.js will serve the app configured by NEXT_PUBLIC_CITYCOIN and NEXT_PUBLIC_APP_NAME.
pnpm dev– run the development serverpnpm build– create a production buildpnpm start– start the production serverpnpm lint– run ESLint
app/
[citycoins]/ # Starting with Toronto's TCOIN, this monorepo allows for multiple cities, each with their own local currency
[citycoin apps]/ # Each citycoin will have one or more dedicated apps, aka wallets.
docs/ # Project documentation and technical deep-dives
shared/ # Reusable hooks, components and utilities
supabase/
migrations/ # Versioned SQL migrations synced with Supabase
API routes for Twilio OTP verification are located under app/api.
Credentials for Supabase, Cubid and Twilio are required. They are referenced throughout the hooks in shared/ and the API routes. Refer to .env.local.example for full details.
Notably, use variables NEXT_PUBLIC_CITYCOIN= to determin which city and citycoin to deploy, and NEXT_PUBLIC_APP_NAME= to pich which app to deploy to serve your citycoin.
- Add automated tests for API routes
- Introduce a CI workflow to run
pnpm lintand builds
Use 2 spaces for indentation and run pnpm lint before committing changes.
MIT