Gestor de torneos de padel con arquitectura fullstack:
frontend/: Next.js + TypeScriptbackend/: Node.js + Express + TypeScriptdb: PostgreSQL
- Crear torneo
- Inscribir jugadores
- Ver tabla de posiciones por torneo
- Ver ranking global de jugadores
POST /tournamentsGET /tournamentsPOST /playersGET /playersPOST /registrationsGET /registrationsGET /tournaments/:id/standingsGET /players/ranking
- Backend Swagger UI:
http://localhost:4000/api-docs - Frontend docs page (embeds Swagger):
http://localhost:3000/docs
GET /GET /tournamentsGET /tournaments/newGET /tournaments/:id/standingsGET /playersGET /players/newGET /players/rankingGET /registrationsGET /registrations/newGET /docs
- Backend collection:
postman/tournament-manager.postman_collection.json - Frontend routes collection:
postman/tournament-manager-frontend.postman_collection.json - Recommended backend execution order:
POST /players(setsplayerId)POST /tournaments(setstournamentId)POST /registrationsGET /tournaments/:id/standingsGET /players/ranking
Desde la raiz:
docker compose up --buildAplicaciones:
- Frontend:
http://localhost:3000 - Backend:
http://localhost:4000
- Instalar dependencias en la raiz:
npm install- Crear variables:
backend/.envusandobackend/.env.examplefrontend/.env.localusandofrontend/.env.example
- Correr backend:
npm run dev:backend- Correr frontend:
npm run dev:frontendBackend (Jest + Supertest):
npm run test:backendFrontend (React Testing Library):
npm run test:frontend