A subscription library of ready-to-use engagement activities for care homes: puzzles and games, quizzes, sing-alongs, reminiscence newsletters and talking communication boards, ready to print or play
HealthTypeScript · PythonGitHub @Memory-LineOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A subscription library of ready-to-use engagement activities for care homes: puzzles and games, quizzes, sing-alongs, reminiscence newsletters and talking communication boards, ready to print or play on screen.
Taken from the repository README
Loading the full README.
Read the full README ↗A subscription platform for care home activity teams: a library of dementia engagement templates (Reminiscence, Sensory, Music & Movement, Arts & Crafts, Conversation & Games) plus a Professional Services directory, gated behind a monthly Stripe subscription.
This is a real, deployable Next.js app — accounts, login, Stripe Checkout + billing portal, and a Postgres/SQLite-backed database. It does not yet include your actual template PDF files or your final 2,000-item catalog — see "What's stubbed" below.
npm install
cp .env.example .env
Fill in:
DATABASE_URL — leave as the SQLite default for local devNEXTAUTH_SECRET — generate with openssl rand -base64 32STRIPE_SECRET_KEY / NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY — from your
Stripe dashboard (use test keys first)STRIPE_PRICE_STANDARD / STRIPE_PRICE_PREMIUM — create two recurring
monthly Prices in Stripe (Products → Add product → Recurring), one for
Standard (£18) and one for Premium (£28), then paste each Price ID hereSTRIPE_WEBHOOK_SECRET — see step 4 belownpx prisma generate
npx prisma migrate dev --name init
This creates dev.db (SQLite) locally with the User and Download tables.
Subscription status only updates when Stripe sends a webhook. For local dev, use the Stripe CLI:
stripe listen --forward-to localhost:3000/api/stripe/webhook
Copy the whsec_... it prints into STRIPE_WEBHOOK_SECRET in .env.
npm run dev
Visit http://localhost:3000. Sign up → you'll land on /pricing → Stripe
Checkout (use Stripe's test card 4242 4242 4242 4242, any future date/CVC)
→ webhook flips your subscription to active → /dashboard unlocks.
app/page.tsx — public marketing/landing pageapp/signup, app/login — account creation & sign-in (NextAuth credentials)app/pricing — shown to signed-in users without an active subscription;
triggers Stripe Checkoutapp/api/stripe/checkout — creates the Stripe Checkout sessionapp/api/stripe/webhook — Stripe calls this on payment/subscription events;
this is the only place subscription status is written, so it stays in
sync even if a user closes the tab mid-checkoutapp/api/stripe/portal — "Manage subscription" button opens Stripe's
hosted billing portal (update card, cancel, view invoices)middleware.ts + app/dashboard/layout.tsx — require login and an
active/trialing subscription before any /dashboard/* page renderslib/data.ts — the category/template/services content (currently sample
data standing in for your real catalog — see below)lib/data.ts has ~30 sample templates across
5 categories, matching your format. Swap this for your real ~2,000, ideally
loaded from a database table or CMS rather than hardcoded once the catalog
is that large./api/downloads currently just logs a download
event. Wire it up to serve/redirect to your actual PDF files (e.g. signed
URLs from S3, Vercel Blob, or Cloudflare R2) once you have the real assets.DATABASE_URL at Postgres (Vercel Postgres, Supabase, Neon, Railway all
work) and change provider = "sqlite" to provider = "postgresql" in
prisma/schema.prisma.Not tied to a specific host. The straightforward path:
.env variables in your host's environment variable settingsDATABASE_URL at a real Postgres instancehttps://yourdomain.com/api/stripe/webhook, and use the webhook secret
it gives you (this is different from your local Stripe CLI secret)sk_test_...) to live (sk_live_...) once
you're ready to accept real payments