- API para el proyecto PAE. Proporciona endpoints REST para autenticación, gestión de recursos y consultas necesarias para la aplicación cliente.
# Clonar el repositorio
git clone https://github.com/ClipsiOfficial/api .
cd api
# Instalar dependencias
pnpm install
# Ejecución
pnpm devUsamos ESLint con la configuración proporcionada en el proyecto. Hay scripts en package.json para ejecutar el linter y corregir automáticamente algunos problemas.
- Ejecutar linter:
pnpm lint- Ejecutar linter y aplicar correcciones automáticas:
pnpm lint:fixNotas:
- Si quieres integrar ESLint con tu editor (VS Code), instala la extensión ESLint y habilita
auto fix on savesi lo deseas. - El proyecto usa reglas compartidas (
@antfu/eslint-config) y algunas reglas personalizadas; revisa el archivo de configuración del proyecto si necesitas ajustar reglas.
Drizzle Studio es una interfaz útil para explorar tu esquema y datos SQLite/D1 durante el desarrollo.
Usa el script que abre Studio apuntando al entorno de desarrollo local (no afectará la base remota):
pnpm db:studioEsto lanza una interfaz web donde puedes navegar tablas, ejecutar queries y revisar el esquema. Por defecto drizzle-kit carga la configuración de drizzle.config.ts y, gracias a la configuración del proyecto, en desarrollo usará las credenciales locales configuradas en .env.
Si necesitas abrir Studio apuntando a la base de datos remota (production), puedes usar:
pnpm db:studio:prodAdvertencias y diferencias entre dev y prod:
-
Credenciales:
- Dev:
drizzle.config.tsestá configurado para leer valores locales (por ejemplosqlitelocal o archivo.env) y usarsqliteLocalFileCredentialscuando no está en producción. - Prod: Se usa
d1-http+dbCredentialscon las credenciales de Cloudflare. Asegúrate de no exponer estas credenciales públicamente.
- Dev:
-
Migraciones y schema:
- En dev puedes generar migraciones con
pnpm drizzle-kit generatey aplicarlas localmente. - Para aplicar en la base de datos D1 remota usa
pnpm drizzle-kit push(ladrizzle.config.tsaplicarád1-httpcon las credenciales de producción siNODE_ENV=production).
- En dev puedes generar migraciones con
-
Source maps / seguridad:
- En dev puedes habilitar source maps para debugging (
pnpm dev:debug). - En producción los source maps están desactivados por defecto por razones de seguridad. No publiques source maps de producción.
- En dev puedes habilitar source maps para debugging (
- Siempre revisa las migraciones antes de hacer
pusha producción. - Si usas Drizzle Studio apuntando a producción, ten cuidado con las acciones que modifican datos.