1.3.0 • Published 9 months ago
faster-crud v1.3.0
faster-crud
Introducción
faster-crud es una librería dinámica para operaciones CRUD basada en Mongoose. Diseñada para desarrolladores de Node.js, esta herramienta incluye soporte para CLI, validación avanzada, y documentación automática con Swagger. Es ideal para crear rápidamente aplicaciones escalables con MongoDB.
Características Principales
- CRUD dinámico: Soporte para operaciones CRUD automáticas.
- CLI: Herramienta de línea de comandos para generar modelos y configuraciones.
- Validación avanzada: Uso de
joipara asegurar datos robustos. - Integración con Swagger: Documentación interactiva disponible en
/api-docs. - Middleware:
- Sanitización de entradas: Protege contra inyecciones.
- Helmet: Mejora la seguridad HTTP.
- Rate limiting: Previene abusos en las solicitudes.
- Paginación: Soporte para listar datos de manera eficiente.
Requisitos Previos
- Node.js: v16.0.0 o superior.
- MongoDB: Configurado y accesible.
Dependencias
mongoose: Conexión y manipulación de datos en MongoDB.joi: Validación de esquemas.swagger-ui-express: Generación de documentación API.express: Framework HTTP.
Guía de Instalación
Instalación de la librería
Ejecute el siguiente comando:
npm install faster-crudConfiguración inicial
Cree un archivo .env para configurar las variables de entorno:
MONGO_URI=su_conexion_mongo
PORT=3000Uso Básico
Importar y configurar la librería
import fasterCrud from "faster-crud";
// Inicializar la librería
fasterCrud.initialize({
mongooseURI: process.env.MONGO_URI,
swagger: true,
});CLI
Ejecute el CLI con el siguiente comando:
npx faster-crudDocumentación Completa de APIs
Endpoints principales
/api/users
- GET: Obtiene todos los usuarios.
- Respuesta:
[ { "_id": "123", "name": "John Doe", "email": "john@example.com" } ]
- Respuesta:
- POST: Crea un nuevo usuario.
- Parámetros (en el cuerpo):
{ "name": "John Doe", "email": "john@example.com", "password": "securepassword" }
- Parámetros (en el cuerpo):
Casos de Uso
- Aplicaciones con MongoDB: Crear APIs rápidas y escalables.
- Proyectos de prototipo: Generar CRUDs dinámicos con poca configuración.
- Sistemas con seguridad avanzada: Uso de middlewares preconfigurados.
Pruebas y Validaciones
Ejecutar pruebas
La librería incluye pruebas unitarias:
npm testContribución
Para colaborar:
- Haz un fork del repositorio: GitHub.
- Crea una rama para tus cambios:
git checkout -b feature/nueva-funcionalidad - Envía un pull request detallando los cambios.
Licencia
Este proyecto está bajo la licencia MIT. Puedes usarlo libremente para fines personales o comerciales.
Notas Adicionales
- Para documentación interactiva, visita
/api-docsen tu servidor local. - Personaliza los esquemas de datos en
crud.config.js.