@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
Markdown
# ποΈ @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.
[](https://www.npmjs.com/package/@josselinesanchez/data-base-connector)
[]()
[](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