UNPKG

@josselinesanchez/data-base-connector

Version:

Conector de base de datos simple y escalable con soporte para MongoDB, escrito en **TypeScript**, usando patrΓ³n **Factory** y **Singleton**.

118 lines (89 loc) β€’ 2.79 kB
# πŸ—ƒοΈ @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](https://img.shields.io/npm/v/@josselinesanchez/data-base-connector.svg)](https://www.npmjs.com/package/@josselinesanchez/data-base-connector) [![Build Status](https://img.shields.io/badge/build-passing-brightgreen)]() [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) > 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 ```bash npm install @josselinesanchez/data-base-connector ``` --- ## πŸš€ Ejemplo de uso ```typescript 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 ```typescript // DatabaseType.ts export enum DatabaseType { MONGO = 'mongo', } ``` ```typescript // IDatabaseConnector.ts export interface IDatabaseConnector { connect(uri: string): Promise<void>; } ``` --- ## πŸ“ Estructura del proyecto ```pgsql 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. ```bash 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 ---