ilia 40f5a859f1
CI / skip-ci-check (push) Successful in 32s
CI / secret-scan (push) Successful in 30s
CI / node-ci (push) Successful in 2m28s
Merge pull request 'Set package.json license for GitHub detection' (#10) from chore/github-inviting-polish into main
2026-08-05 16:11:26 -05:00
2026-07-26 15:03:24 -05:00

MirrorMatch

Photo guessing game: upload a photo, others guess who is in it, points on the leaderboard. Next.js, PostgreSQL, Prisma, NextAuth.

Status: active. MIT. See LICENSE.

Setup

cd mirrormatch   # or mirror_match
npm install
cp .env.example .env   # if present; otherwise create .env

Required env (placeholders):

DATABASE_URL="postgresql://user:password@localhost:5432/mirrormatch?schema=public"
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="$(openssl rand -base64 32)"
# Production email:
# SMTP_HOST= SMTP_PORT= SMTP_USER= SMTP_PASSWORD= SMTP_FROM=
npm run db:generate
npm run db:migrate   # or npm run db:push for quick local
npm run db:seed      # default admin: admin@mirrormatch.com / admin123 — change it
npm run dev          # http://localhost:3000

Dev mail can use Ethereal or console; SMTP is for production.

What it does

  • Admin creates users (email/password)
  • Users upload photos with an answer name
  • Others guess for points; leaderboard ranks scores
  • Optional email when new photos land
  • Profile: view points, change password

Docs

Doc Purpose
ARCHITECTURE.md Design
CONTRIBUTING.md Conventions
SECURITY.md Security practices
TESTING.md Tests
.cursor/rules/mirrormatch.mdc Agent rules

Production

NODE_ENV=production npm run build && npm start

Set real NEXTAUTH_SECRET, SMTP, and rotate the seeded admin password.

S
Description
MirrorMatch — pattern matching utility
Readme MIT
2.7 MiB
Languages
TypeScript 91.4%
Shell 6.8%
JavaScript 1.5%
CSS 0.3%