Logo Lanfrica

KenechukwuOkafor/Sifa-edtech

Domain:

education

Record type:

software
Creator:
Ken
Host:
Marketing website for Sifa — AI-generated, curriculum-aligned lesson packs for African schools # Sifa — marketing website Marketing site for **Sifa**, a B2B SaaS that turns a topic into a complete lesson pack — lesson plan, slides, quiz, homework and marking guide — for African primary and secondary schools, aligned to the WAEC / NECO / NERDC scheme of work. This repo is the marketing site only. No product application code lives here. ## Stack Next.js 16 (App Router) · TypeScript · Tailwind CSS v4 · shadcn/ui · Framer Motion · Supabase · Resend · Vitest. Deploys to Vercel. ## Getting started ```bash npm install cp .env.example .env.local # then fill in the values npm run dev ``` The site runs without credentials — every page renders. Only the lead form needs them; without them `/api/lead` returns a 503 with a clear message. ## Commands | Command | Does | |---|---| | `npm run dev` | Dev server on :3000 | | `npm run build` | Production build | | `npm run lint` | ESLint | | `npm run typecheck` | `tsc --noEmit` | | `npm test` | Vitest | ## Structure ``` app/ layout.tsx Header / main / Footer, fonts, metadata globals.css Design tokens (Tailwind v4 is CSS-first — no config file) page.tsx Home how-it-works/ tech/ pricing/ about/ contact/ privacy/ terms/ api/lead/route.ts Lead capture endpoint components/ layout/ Header, Footer, Logo, PageShell lead-form.tsx Waitlist + contact variants ui/ shadcn primitives lib/ site.ts Nav, footer and legal links — single source of truth leads.ts Zod schema shared by client and server fonts.ts Inter (body) + Sora (display) env.ts supabase.ts resend.ts Server-only supabase/schema.sql `leads` table DDL ``` ## Setting up the backend 1. Create a Supabase project and run `supabase/schema.sql` in its SQL editor. 2. Copy the project URL and **service role** key into `.env.local`. 3. Create a Resend API key, verify your sending domain, and set `RESEND_FROM_EMAIL` / `RESEND_TO_EMAIL`. The service role key bypasses row level s …