Logo Lanfrica

Solar-Village/landing-page

Domain:

environment and energydigital infrastructure
Creator:
Sol
Host:
Concept site about paying for solar energy with stablecoins and minting voluntary carbon credits in northern Nigeria. # SolarVillage Web SolarVillage web apps live in this pnpm workspace. ## Apps | App | Path | Purpose | | --- | --- | --- | | `@solar-village/landing-page` | `apps/landing-page` | Public landing page for . | Add future Vite apps as siblings under `apps/`. ## Local Setup Use pnpm for local work. ```sh pnpm install pnpm dev ``` The root `pnpm dev` script currently starts the landing page app. The Vite dev server is configured for HTTP on port `8080`. ## Scripts Root scripts delegate to `@solar-village/landing-page`: ```sh pnpm dev # start the landing page dev server pnpm test # run landing page Vitest tests pnpm lint # run landing page ESLint pnpm build # build landing page production assets pnpm preview # preview the landing page production build ``` App-specific aliases are also available, such as `pnpm dev:landing-page`. ## Environment Landing page env files live with the app in `apps/landing-page/`. Create `apps/landing-page/.env.local` from `apps/landing-page/.env.example` for local development. | Variable | Required | Runtime | Purpose | | --- | --- | --- | --- | | `VITE_SUPABASE_URL` | Yes | Browser | Supabase project URL used by public signup forms. | | `VITE_SUPABASE_ANON_KEY` | Yes | Browser | Supabase anon key used by public signup forms. | | `VITE_SENTRY_DSN` | No | Browser | Enables Sentry monitoring when present. | | `OG_IMAGE_PATH` | No | API handler | Overrides the image served by the landing page OG image endpoint; defaults to `apps/landing-page/src/assets/solar-village-preview.png`. | Do not place service-role keys or privileged Supabase credentials in browser-visible `VITE_*` variables. ## Supabase Contract Browser-side Supabase writes are intentional for this landing page. The public forms use the anon key and should be protected by database constraints, RLS/write policies, and operational spam controls rather than by privileged browser credentials. Current browser-written tables: | Feature | Source | …