91125e82f566c69f0a8cd5cabd97db4186d0313a
Replace dropdown select with interactive pill buttons for sport selection - Added SportSelector component with icon-based visual buttons (desktop) - Added MobileSportSelector component for mobile-optimized layout - Added getSportIcon() function to map sport names to appropriate icons - Improved visual feedback with emerald highlight on selection - Better hover states and transitions for improved UX - Works on both desktop and mobile views Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Playzer Monorepo
Este repositorio contiene:
apps/frontend: React + Vite + TanStack Router/Query.apps/backend: Bun + Hono + Prisma + Better Auth.packages/api-contract: contratos Zod/tipos compartidos.
Requisitos
- Bun reciente
- PostgreSQL disponible
Setup rápido
- Instalar dependencias:
bun install
- Configurar backend:
cp apps/backend/.env.example apps/backend/.env
- Configurar frontend:
cp apps/frontend/.env.example apps/frontend/.env
- Ejecutar migraciones:
bun --filter backend prisma:migrate
Variables de entorno
Backend (apps/backend/.env)
DATABASE_URLBETTER_AUTH_SECRETBETTER_AUTH_URLAPP_BASE_URLCORS_ORIGIN
Frontend (apps/frontend/.env)
VITE_API_BASE_URL
Desarrollo
Backend:
bun run dev:backend
Frontend:
bun run dev:frontend
Todo junto:
bun run dev
Prisma
Regenerar cliente después de cambios de schema:
bun --filter backend prisma:generate
Autenticación
El proyecto usa Better Auth con sesión por cookie.
- Backend:
c.get('user')yc.get('session')en contexto Hono. - Frontend:
authClientconfetchOptions.credentials = 'include'. - Frontend API: Axios con
withCredentials = true. - Backend CORS:
credentials: true.
Deploy (Docker)
- Build context: raíz del monorepo (
./) - Dockerfile:
./Dockerfile - Build args requeridos:
DATABASE_URLVITE_API_BASE_URLBETTER_AUTH_SECRETBETTER_AUTH_URL
Flujo recomendado de cambios de API
- Actualizar contrato en
packages/api-contract. - Implementar backend en
apps/backend. - Consumir contrato desde frontend (
@repo/api-contract).
Description
Languages
TypeScript
99.4%
CSS
0.4%
Dockerfile
0.2%