@josselinesanchez/data-base-connector
v1.0.5
Published
Conector de base de datos simple y escalable con soporte para MongoDB, escrito en **TypeScript**, usando patrón **Factory** y **Singleton**.
Downloads
10
Maintainers
Readme
🗃️ @josselinesanchez/data-base-connector
Conector de base de datos simple y escalable con soporte para MongoDB, escrito en TypeScript, usando patrón Factory y Singleton.
Ideal para proyectos Node.js que requieren una abstracción limpia para conectar bases de datos.
Conector escalable para bases de datos en Node.js con soporte inicial para MongoDB. Ideal para proyectos TypeScript que buscan una arquitectura limpia basada en Factory + Singleton Pattern.
📦 Instalación
npm install @josselinesanchez/data-base-connector🚀 Ejemplo de uso
import DatabaseConnectorFactory from '@josselinesanchez/data-base-connector';
import { DatabaseType } from '@josselinesanchez/data-base-connector';
const connector = DatabaseConnectorFactory.getConnector(DatabaseType.MONGO);
connector.connect('mongodb://localhost:27017/my-database')
.then(() => {
console.log('✅ Base de datos conectada');
})
.catch((error) => {
console.error('❌ Error al conectar a la base de datos:', error);
});
🔍 Tipos y contratos
// DatabaseType.ts
export enum DatabaseType {
MONGO = 'mongo',
}// IDatabaseConnector.ts
export interface IDatabaseConnector {
connect(uri: string): Promise<void>;
}
📁 Estructura del proyecto
data-base-connector/
├─ .qodo/
├─ libs/
│ ├─ __tests__/
│ │ ├─ DatabaseConnectorFactory.test.ts
│ │ └─ MongoConnector.test.ts
│ ├─ connectors/
│ │ └─ MongoConnector.ts
│ ├─ factories/
│ │ └─ DatabaseConnectorFactory.ts
│ ├─ interfaces/
│ │ └─ IDatabaseConnector.ts
│ ├─ types/
│ │ └─ DatabaseType.ts
│ └─ index.ts
├─ .editorconfig
├─ .gitignore
├─ .gitlab-ci.yml
├─ jest.config.js
├─ package-lock.json
├─ package.json
├─ README.md
└─ tsconfig.json🧪 Testing
Esta librería incluye tests con Jest y mongodb-memory-server para pruebas aisladas.
npm test📌 Roadmap
- [x] Soporte MongoDB
- [ ] Soporte PostgreSQL
- [ ] Soporte MySQL
- [ ] Logger integrado
- [ ] Decoradores para simplificar integración
🤝 Contribuciones
¡Las contribuciones son bienvenidas! Puedes enviar un PR o abrir un Issue para sugerencias, errores o mejoras.
📄 Licencia
MIT © Krafox by Josseline Sánchez and Jorman Orrala
