# YiTechX
YiTechX.js is a unified database manager for managing multiple database types, including Google Drive API, MongoDB, MySQL, SQLite, and a JSON file database.
## Features
- **Google Drive API Integration**: Manage files on Google Drive.
- **MongoDB Integration**: Connect and perform operations on a MongoDB database.
- **MySQL Integration**: Connect and perform operations on a MySQL database.
- **SQLite Integration**: Connect and perform operations on a SQLite database.
- **JSON Database**: Manage a JSON file as a simple database.
1. Install dependencies:
```bash
npm install yitechx.js
Usage
Configuration
Create a configuration object with your database credentials:
const options = {
googleDrive: {
clientId: 'your-client-id',
clientSecret: 'your-client-secret',
redirectUri: 'your-redirect-uri',
},
mongoDB: {
uri: 'your-mongodb-uri',
database: 'your-database-name',
},
mySQL: {
host: 'your-mysql-host',
username: 'your-username',
password: 'your-password',
database: 'your-database-name',
},
sqlite: {
filename: 'your-sqlite-filename',
},
jsonDB: {
filename: 'your-jsondb-filename',
},
};
Initialize YiTechX.js
Initialize and use YiTechX.js with the configuration object:
const YiTechX = require('yitechx.js');
const yitechx = new YiTechX(options);
(async () => {
try {
await yitechx.init();
console.log('Databases initialized successfully.');
const mongoResults = await yitechx.query('mongoDB', { collection: 'your-collection', criteria: {} });
console.log(mongoResults);
const mysqlResults = await yitechx.query('mySQL', 'SELECT * FROM your_table');
console.log(mysqlResults);
const sqliteResults = await yitechx.query('sqlite', 'SELECT * FROM your_table');
console.log(sqliteResults);
const jsonResults = await yitechx.query('jsonDB', { id: 'your-id' });
console.log(jsonResults);
} catch (error) {
console.error('Error initializing databases:', error);
} finally {
yitechx.close();
}
})();
Methods
init()
: Initializes all configured databases.getDatabase(type)
: Retrieves the specified database instance.query(type, query)
: Executes a query on the specified database.updateJSONDB(data)
: Updates the JSON database with new data.close()
: Closes all database connections.
Error Handling
YiTechX includes general error handling for all asynchronous methods. If an error occurs during initialization or querying, it will be logged to the console.
License
This project is licensed under the MIT License. See the LICENSE file for details.