A gamified AI learning platform built with Next.js 15, Prisma, and Google Gemini 2.0. Participants unlock stamps by running Python snippets in Colab, learning the full AI stack from "Asking" to "Thinking" and "Agents".
- Gamified Learning: 20 unlockable components representing the modern AI stack.
- Magic Link Auth: Passwordless login using simulated email (dev) or Nodemailer.
- Live Leaderboard: Real-time ranking with Presenter Mode for workshops.
- Multiplayer Sessions: Join rooms with custom codes (e.g.
WORKSHOP-1). - AI Integration:
- Gemini 2.0 Flash for core logic.
- Gemini 3.0 Flash Preview for Native Thinking (System 2 reasoning).
- Multimodal capabilities (Audio/Video understanding).
- Framework: Next.js 15 (App Router, Server Actions)
- Database: SQLite (Dev) / Postgres (Prod) via Prisma
- Styling: TailwindCSS 4 + Framer Motion
- AI: Google Gemini API (
google-genaiSDK)
git clone https://github.com/s1dd4rth/aibingo.git
cd aibingo
npm installCreate a .env file:
DATABASE_URL="file:./dev.db"
GEMINI_API_KEY="your_google_ai_studio_key"
NEXT_PUBLIC_APP_URL="http://localhost:3000"npx prisma db push # Setup SQLite DB
npm run dev # Start ServerVisit http://localhost:3000.
- Push to GitHub.
- Import in Vercel.
- Set Environment Variables (
GEMINI_API_KEY,POSTGRES_PRISMA_URL...). - Important: Update
prisma/schema.prismato useprovider = "postgresql"for production.
- Go to
/leaderboard. - Click Present.
- Share the Session Code shown on screen.
- Participants join via the "Live Workshop" box on the home screen.
We use Jest and React Testing Library for unit and integration testing.
# Run tests
npm test
# Run tests in watch mode
npm run test:watchThis project includes a comprehensive test suite that should be run before deployment:
- Unit Tests: Cover utility functions and individual components.
- Integration Tests: Verify interactions between components and mock server actions.
To run the full suite:
npm testThis project implements standard security practices:
- Headers: Strict Content-Security-Policy, HSTS, X-Frame-Options configured in
next.config.ts. - Authentication: Secure Magic Link implementation with JWT.
- CSRF Protection: Standard protection via Next.js Server Actions and framework features.
We follow WCAG 2.1 AA standards. Key practices include:
- Semantic HTML: Proper use of standard elements.
- ARIA Attributes: Used where semantic HTML is insufficient (e.g., dynamic states in Bingo cards).
- Keyboard Navigation: Ensure all interactive elements are reachable via keyboard.
- Color Contrast: sufficient contrast ratios for text and UI elements.
MIT