@josselinesanchez/data-base-connector
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

🗃️ @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.

npm version Build Status License: MIT

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


Package Sidebar

Install

npm i @josselinesanchez/data-base-connector

Weekly Downloads

76

Version

1.0.5

License

MIT

Unpacked Size

10.5 kB

Total Files

16

Last publish

Collaborators

  • josselinesanchez