A mobile-first survey application for collecting anonymous feedback at the Equal Experts North America Conference.
Prerequisites: Docker Desktop
-
Clone and start:
git clone https://github.com/equalexperts/nam-conference-survey.git cd nam-conference-survey docker compose up -
Open your browser:
- Survey: http://localhost:3000
That's it. No Node.js, no OAuth, no complicated setup.
- Public survey - 19 questions, all optional, no login required
- Anonymous responses - Rate-limited to 10 per hour per IP
- Mobile-first - Works on any device (375px - 1920px)
- Frontend: React + TypeScript + Mantine UI
- Backend: NestJS + Prisma
- Database: PostgreSQL
- Monorepo: pnpm workspaces
# Start all services
pnpm dev
# View logs
pnpm logs
# Access database
pnpm prisma:studio
# Run backend tests
docker-compose exec backend pnpm test
# Clean everything (⚠️ deletes data)
pnpm cleanapps/
backend/ # NestJS API + Prisma
frontend/ # React + Vite
packages/
shared/ # Shared TypeScript types
product/ # Product discovery, iterations, releases
rules/ # Development guidelines
knowledge/ # Additional context
prompts/ # Feature prompts
GCP Cloud Run: See deploy/gcp/README.md for full deployment instructions.
Quick deploy (requires GCP project with Cloud SQL):
export GCP_PROJECT_ID="your-project-id"
export CLOUD_SQL_CONNECTION="project:region:instance"
export DATABASE_URL="postgresql://user:pass@/db?host=/cloudsql/..."
./deploy/gcp/deploy.sh- Architecture & coding rules: See
rules/directory - Prompts: See
prompts/directory - Additional context: See
knowledge/directory - Database schema:
apps/backend/prisma/schema.prisma - Product management: See
product/README.md - GCP deployment: See
deploy/gcp/README.md
# Create feature branch
git checkout -b feature/my-feature
# Make changes, commit
git add .
git commit -m "feat: add my feature"
# Push and create PR
git push origin feature/my-featureCode standards: TypeScript strict mode, ESLint, Prettier, Conventional Commits.
Questions? Contact Mike Mitchell (Product Owner)
UNLICENSED - Equal Experts Internal Project