Data Nexus Vault is a powerful and flexible tool that allows you to convert your device into an online, free database. You can turn it on or off anytime, and interact with it using a web-based dashboard, a Python software client, or a command-line interface (CLI).
- User Registration and Authentication: Secure user registration, email verification, and login functionalities.
- Password Management: Password reset functionality with email-based token verification.
- Data Storage: Store user-specific data in dedicated collections.
- Data Retrieval: Retrieve data using API keys.
- Flexible Interactions: Use a web-based dashboard or a Python client to interact with the database.
- Turn On/Off: Easily turn the database on or off as needed.
- app.js: The main server file with all the routes and functionalities.
- public: Directory containing HTML files for the web-based dashboard.
- demo.py: Python script to interact with the database using CLI.
- README.md: Project documentation.
-
Clone the repository:
git clone https://github.com/your-username/data-nexus-vault.git cd data-nexus-vault
-
Install Node.js dependencies:
npm install
-
Install Python dependencies:
pip install requests
Create a .env
file in the root directory and add the following variables:
JWT_SECRET=your_secret_key
MONGO=your_mongo_db_connection_pssword
PASS=your_email_password
GENERATIVE_API_KEY=gemini_password
Start the Node.js server:
node app.js
Access the web-based dashboard at http://localhost:5000
to manage users, store, and retrieve data.
Use the Python client (demo.py
) to interact with the database via CLI.
Run the Python client:
python demo.py
- User Registration:
POST /auth/register
- Email Verification:
GET /auth/verify/:token
- Login:
POST /auth/login
- Password Reset Request:
POST /auth/reset-password-request
- Password Reset:
POST /auth/reset-password
- Store Data:
POST /save-data
- Extract Data:
POST /extract-data
- Retrieve DFA Data:
GET /get-dfa/:apikey
- Retrieve EDU Data:
GET /get-edu/:apikey
- Delete Extracted Data:
DELETE /delete-extracted/:apikey
- Save Output Data:
POST /save-output
- Retrieve Output Data:
GET /get-output/:apikey
- Delete Output Data:
GET /delete-output/:apikey
Feel free to contribute to this project by opening issues and submitting pull requests.
This project is licensed under the MIT License.