Express TS Swagger CRUD GeneratorExtensió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 📚 Tabla de Contenidos
✅ Características
⚙️ Requisitos
📦 Instalación
⚙️ ConfiguraciónArchivo
|
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 conts-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?
- Clona este repositorio
- Crea una nueva rama:
git checkout -b feature/tu-feature
- Realiza tus cambios
- Haz commit y push:
git commit -m 'Agrega nueva feature'
ygit push origin feature/tu-feature
- 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! 🙌