Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Lurawi CRUD ExpressNew to Visual Studio Code? Get it now.
Lurawi CRUD Express

Lurawi CRUD Express

Omar Yujra

| (0) | Free
Genera CRUD en base a SRC
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Express TS Swagger CRUD Generator

Extensión para Visual Studio Code que genera automáticamente un CRUD completo en TypeScript usando Express, basado en las tablas de una base de datos PostgreSQL. Además, integra Swagger para la documentación de la API y validación con express-validator.


📚 Tabla de Contenidos

  • Características
  • Requisitos
  • Instalación
  • Configuración
  • Uso
  • Estructura Generada
  • Scripts definidos en package.json
  • Errores comunes y soluciones
  • Desarrollo y Contribución
  • Licencia
  • Contacto

✅ Características

  • Generación automática de archivos:
    • Controladores
    • Repositorios
    • Servicios
    • Rutas
    • Modelos (interfaces TypeScript)
    • Middlewares de validación para las rutas
  • Conexión dinámica a PostgreSQL leyendo configuración desde .env
  • Validación de datos con express-validator
  • Documentación automática con Swagger (swagger-jsdoc y swagger-ui-express)
  • Código modular, escalable y listo para producción

⚙️ Requisitos

  • Node.js >=14.x
  • PostgreSQL accesible
  • Visual Studio Code
  • Archivo .env con credenciales de base de datos

📦 Instalación

  1. Clona o descarga el repositorio.

  2. En la raíz del proyecto, instala las dependencias:

    npm install
    
  3. Para desarrollo local, ejecuta:

    npm run dev
    

⚙️ Configuración

Archivo .env

Crea un archivo .env en la raíz del proyecto con las siguientes variables:

DB_USER=postgres
DB_PASSWORD=admin
DB_HOST=localhost
DB_PORT=5432
DB_NAME=z_app_entel

🚀 Uso

Desde Visual Studio Code

  1. Abre el proyecto en VSCode, asegurándote de que el .env esté en la raíz del workspace.
  2. Ejecuta el comando "Generate CRUD from DB" desde la paleta (Ctrl+Shift+P o Cmd+Shift+P).
  3. La extensión se conectará a la base de datos, detectará las tablas y generará automáticamente el código necesario.
  4. Se crearán archivos para cada tabla dentro de la estructura:
src/
  controllers/
  repositories/
  services/
  routes/
  models/
  middlewares/

🧱 Estructura Generada

Por cada tabla de la base de datos, se generan los siguientes archivos:

Tipo Ubicación Descripción
Controlador src/controllers/{Tabla}Controller.ts Manejo de solicitudes HTTP
Repositorio src/repositories/{Tabla}Repository.ts Acceso a datos y consultas SQL
Servicio src/services/{Tabla}Service.ts Lógica de negocio
Ruta src/routes/{Tabla}Routes.ts Definición de rutas y middlewares
Modelo src/models/{Tabla}.ts Interfaces TypeScript para la tabla
Middleware src/middlewares/{Tabla}Validation.ts Validación de datos con express-validator

📜 Scripts definidos en package.json

  • npm run dev: Ejecuta la app en modo desarrollo con ts-node.
  • npm test: Actualmente sin pruebas definidas.

🛠️ Errores comunes y soluciones

Error Causa común Solución
.env no encontrado El archivo no está en la raíz del workspace Crear .env con las variables requeridas
Error al conectar a la base de datos Credenciales erróneas o DB no accesible Verificar configuración en .env
No se encuentran tablas DB vacía o esquema distinto a public Verificar que las tablas estén en el esquema público

🧑‍💻 Desarrollo y Contribución

¿Quieres aportar?

  1. Clona este repositorio
  2. Crea una nueva rama: git checkout -b feature/tu-feature
  3. Realiza tus cambios
  4. Haz commit y push: git commit -m 'Agrega nueva feature' y git push origin feature/tu-feature
  5. Abre un Pull Request 🚀

Puedes extender la lógica para:

  • Agregar soporte para otros ORMs o frameworks (ej. Sequelize, NestJS)
  • Agregar pruebas unitarias
  • Mejorar los middlewares o las validaciones generadas
  • Usar plantillas personalizadas

📄 Licencia

Este proyecto está bajo la licencia ISC. Consulta el archivo LICENSE para más detalles.


📬 Contacto

¿Tienes preguntas o sugerencias? ¡Contáctame!

  • GitHub: @oyujra
  • LinkedIn: oyujra
  • Correo electrónico: oyujra@gmail.com

¡Gracias por usar esta extensión para acelerar tu desarrollo con Express y PostgreSQL! 🙌

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft