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.
- 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
joi
para 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.
- Node.js: v16.0.0 o superior.
- MongoDB: Configurado y accesible.
-
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.
Ejecute el siguiente comando:
npm install faster-crud
Cree un archivo .env
para configurar las variables de entorno:
MONGO_URI=su_conexion_mongo
PORT=3000
import fasterCrud from "faster-crud";
// Inicializar la librería
fasterCrud.initialize({
mongooseURI: process.env.MONGO_URI,
swagger: true,
});
Ejecute el CLI con el siguiente comando:
npx faster-crud
-
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):
- 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.
La librería incluye pruebas unitarias:
npm test
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.
Este proyecto está bajo la licencia MIT. Puedes usarlo libremente para fines personales o comerciales.
- Para documentación interactiva, visita
/api-docs
en tu servidor local. - Personaliza los esquemas de datos en
crud.config.js
.