Prerequisitos
Herramientas que necesitas tener instaladas antes de empezar.
Antes de clonar los repos vas a necesitar varias herramientas instaladas en tu máquina. La lista cambia un poco según tu sistema operativo.
Resumen
| Herramienta | Versión mínima | Para qué |
|---|---|---|
| Node.js | 22.x | mseller-cloud, mseller-firebase, mseller-docs |
| .NET SDK | 10.0 | mseller-api |
| Docker Desktop (recomendado) | última | Postgres + emuladores Firebase. Incluye el daemon, la CLI y docker compose en una sola instalación, con UI para ver contenedores y logs. |
| firebase-tools | 13+ | CLI de Firebase y emuladores |
| Java JRE | 11+ | Emulador de Firestore (lo usa Java por debajo) |
| Git | 2.x | Clonar y trabajar con los repos |
¿Es tu primera vez con alguna de estas herramientas? Salta a Recursos para aprender más al final de esta página — tiene tutoriales cortos por tema.
macOS
La forma recomendada es con Homebrew.
# Si no tienes Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Herramientas
brew install node@22 dotnet-sdk git
brew install --cask docker # Docker Desktop
brew install --cask temurin11 # Java JRE 11
# firebase-tools (CLI de Firebase) — global vía npm
npm install -g firebase-tools
# Cliente de Postgres (para conectarte desde tu Mac)
brew install libpq
brew link --force libpqDespués de instalar Docker Desktop, ábrelo una vez para aceptar permisos. Si tienes un Mac con chip Apple Silicon (M1/M2/M3), todas estas herramientas tienen builds nativos ARM64.
Windows
Recomendamos usar winget (viene con Windows 10/11 modernos) o, alternativamente, WSL 2 con Ubuntu si prefieres trabajar en un entorno tipo Linux.
Con winget (PowerShell como administrador)
winget install OpenJS.NodeJS.LTS
winget install Microsoft.DotNet.SDK.10
winget install Docker.DockerDesktop
winget install EclipseAdoptium.Temurin.11.JDK
winget install Git.Git
winget install PostgreSQL.PostgreSQL # incluye psql
npm install -g firebase-toolsCon WSL 2 + Ubuntu
Si prefieres WSL, sigue la guía oficial
para instalarlo y luego corre los comandos de la sección de macOS
dentro de Ubuntu (sustituyendo brew por apt).
Verificar que todo quedó bien
node --version # v22.x
npm --version
dotnet --version # 10.0.x
docker --version
firebase --version
java -version
psql --version
git --versionSi alguno falla, vuelve a la sección de tu OS y reinstala.
Editor recomendado
VS Code con estas extensiones:
- C# Dev Kit — para mseller-api (debugger, IntelliSense, test explorer).
- ESLint + Prettier — formato y linting automático para los repos JS/TS.
- Docker
— barra lateral para ver contenedores corriendo, leer logs, abrir
shells, e inspeccionar el archivo
docker-compose.ymlcon autocompletado. - Firebase Explorer (opcional) — ver datos del emulador de Firestore desde VS Code sin abrir el navegador.
Cada repo del stack incluye su propio .vscode/launch.json con
configuraciones de F5 para depurar — abre la carpeta del repo en VS
Code y presiona F5 para correr cualquier servicio en modo debug.
Cuenta de GitHub
Necesitas:
-
Una cuenta de GitHub.
-
Acceso al organization MSeller (pídeselo a tu lead).
-
Una llave SSH configurada para hacer push:
ssh-keygen -t ed25519 -C "tu-email@ejemplo.com" cat ~/.ssh/id_ed25519.pub # copia estoPega la llave pública en GitHub → Settings → SSH and GPG keys.
Recursos para aprender más
No tienes que dominar todas estas herramientas para empezar — basta con poder seguir las instrucciones. Pero si alguna te suena nueva, estos son los tutoriales cortos que recomendamos.
Docker y Docker Compose
Toda la base de datos local y los emuladores de Firebase corren en contenedores Docker, orquestados con Docker Compose. Si nunca lo has usado:
- ¿Qué es Docker? (en español, 10 min) — explica qué es un contenedor y cómo se diferencia de una máquina virtual.
- Docker Compose en 100 segundos
— video corto que explica para qué sirve un
docker-compose.yml. - Cheat sheet de comandos básicos
—
docker ps,docker logs,docker exec,docker compose up/down. - Inspeccionar contenedores con la extensión de VS Code — ver logs, abrir un shell dentro del contenedor, y leer variables de entorno sin tocar la terminal.
Firebase y los emuladores
mseller usa Firebase para Auth, Firestore (base de datos NoSQL), Functions (backend serverless) y Storage. En desarrollo todo corre en emuladores locales — no toca producción.
- ¿Qué es Firebase? (intro oficial) — qué servicios ofrece y cuándo usarlos.
- Introducción a la Firebase Local Emulator Suite — qué emula, en qué puertos corre, cómo conectarse.
- Firestore en 5 minutos — modelo de datos, colecciones y documentos.
mseller-firebase/docs/EMULATORS.md(en el repo) — la guía interna con los detalles específicos del stack.
.NET 10 y EF Core
mseller-api es .NET 10 con Entity Framework Core sobre PostgreSQL.
- Tour de C# (Microsoft Learn) — sintaxis básica si vienes de otro lenguaje.
- Introducción a ASP.NET Core — qué es un controlador, una ruta, dependency injection.
- EF Core en 10 minutos
— migraciones,
DbContext, queries con LINQ.
Node.js, Next.js y TypeScript
mseller-cloud (UI) y mseller-firebase (Functions) usan TypeScript sobre Node.js. mseller-cloud además corre Next.js.
- Aprende Node.js (oficial, en español)
— desde el event loop hasta
npm. - Tutorial oficial de Next.js — App Router, rendering, rutas dinámicas (en inglés, pero muy guiado).
- TypeScript para programadores de JavaScript — solo lo necesario para leer el código del repo.
PostgreSQL
mseller-api guarda toda la data transaccional en Postgres. Para inspeccionar la base local:
- Tutorial interactivo de SQL — si nunca has
escrito un
SELECT. - DBeaver o TablePlus
— clientes gráficos gratis; conéctate a
localhost:5433con usuario/password demseller-api/.env.
Git y GitHub
- Aprende Git interactivamente — visualiza qué hace cada comando.
- Flujo de trabajo con pull requests
— el flujo que usamos en mseller (rama → PR → review → merge a
main).