GeoMaster is a polished, offline-first geography quiz app built with:
- Next.js 14+ (App Router) + TypeScript
- Tailwind CSS + shadcn/ui-style components
- Framer Motion
- Zustand
- Prisma + SQLite
- Install dependencies
npm install- Create an env file
cp .env.example .env- Generate Prisma client + create SQLite schema + seed
npm run db:seed- Start dev server
npm run devOpen http://localhost:3000.
- The app does not call external APIs at runtime.
- A local dataset is stored in
data/restcountries.json. - Seeding imports and normalizes that dataset into SQLite.
If you want to refresh data/restcountries.json on your machine during seeding:
GEOMASTER_FETCH=1 npm run seedIf the fetch fails, the seed still works from the committed local dataset.
See the in-app /sources page.