Neboa

Type-safe NoSQL with Node & SQLite.

README


neboa


Description


Neboa (pronounced /ˈnɛβo̯a̝/, from Galician: «fog») is a simple, yet powerful, type-safe NoSQL database library for Node.js. It offers seamless data management with compile-time type-checking for enhanced reliability. Leveraging SQLite, Neboa ensures efficient and lightweight performance, making it perfect for Electron and other platforms. With its unique approach, Neboa empowers you to use a relational database as a NoSQL, providing the flexibility to harness the best of both worlds. Effortlessly manage your data and embrace a misty-smooth database experience.

Under the hood, Neboa makes use of better-sqlite3, a high-performance SQLite wrapper. This powerful tool allows Neboa to deliver optimal performance and ensure smooth interactions with the database. Whether you're building a desktop application with Electron or a web-based project, Neboa's reliable and efficient architecture has got you covered.

Getting Started


It's recommended to read the documentation to learn more about Neboa and how to use it.

If you want to jump right in, you can install Neboa in your project and start using folliwing the steps below:

Install Neboa

  1. ```sh
  2. npm install neboa
  3. ```

Create a new Neboa instance and initialize the database

  1. ```typescript
  2. import { neboa } from 'neboa';
  3. const db = neboa('path/to/database.db');
  4. ```

Create a new collection

  1. ```typescript
  2. const Users = db.collection('users');
  3. ```

Insert a new document to the collection

  1. ```typescript
  2. const user = Users.insert({
  3.   name: 'Darth Vader',
  4.   email: 'vader@imperial.net'
  5. });
  6. ```

And just like that, you have a new collection populated with a document. You can now query the collection to retrieve the document.

If you want to learn more about Neboa, you can read the documentation to get started.

Happy hacking! :tada:

Documentation


You can see the documentation on the website.

Below you can find table of contents with useful links to the documentation.

Introduction


Basic Usage


Queries


Advanced


Contributing


Thanks for your interest in contributing! Please, read on the guidelines for contributing and then check the issues to see if there's anything you can help with.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

License


See the LICENSE file for license rights and limitations (Affero General Public License v3.0).