Sobre el proyecto

PocketBase es un backend de código abierto escrito en Go que se distribuye como un único ejecutable portátil. Integra una base de datos SQLite embebida, suscripciones en tiempo real, gestión nativa de archivos y usuarios, un panel de administración (Admin dashboard) y una API sencilla estilo REST. Se puede utilizar principalmente de dos formas: 1. Aplicación independiente: Descarga un ejecutable precompilado desde la página de Releases y ejecuta `./pocketbase serve`. Los ejecutables incluyen por defecto un plugin de máquina virtual JavaScript, lo que permite extender PocketBase mediante JavaScript. 2. Framework/herramienta Go: PocketBase se distribuye como un paquete regular de biblioteca Go, permitiendo implementar lógica empresarial personalizada mientras se genera un único ejecutable estáticamente vinculado. Por ejemplo, compilando con `CGO_ENABLED=0 go build`. Un ejemplo mínimo en `main.go` registra una ruta personalizada como `GET /hello` e inicia la aplicación con `app.Start()`. Existen clientes SDK oficiales para JavaScript (navegador, Node.js, React Native) y Dart (web, móvil, escritorio, CLI), facilitando la interacción con las APIs web de PocketBase. La documentación y los ejemplos están disponibles en https://pocketbase.io/docs. Los objetivos de compilación soportados para el controlador SQLite puro en Go abarcan una amplia variedad de combinaciones GOOS/GOARCH, incluyendo darwin amd64/arm64, freebsd 386/amd64/arm/arm64, linux 386/amd64/arm/arm64/loong64/ppc64le/riscv64/s390x, netbsd amd64, openbsd amd64/arm64 y windows 386/amd64/arm64. El proyecto incluye pruebas unitarias e integradas, ejecutables con `go test ./...`. Está licenciado bajo la Licencia MIT y las vulnerabilidades de seguridad pueden reportarse enviando un correo electrónico a support en pocketbase.io. PocketBase sigue en desarrollo activo; no se garantiza la compatibilidad hacia atrás completa antes de alcanzar la versión v1.0.0. Además, según el repositorio, las solicitudes de extracción (pull requests) están temporalmente deshabilitadas debido al spam generado por modelos de lenguaje grandes (LLM); se pide a los colaboradores que abran un issue o discusión con un enlace a su fork en su lugar.