Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aerotoad/neboa
Type-safe NoSQL with Node & SQLite. 🌫️💽
https://github.com/aerotoad/neboa
database document nodejs nosql sqlite3 typescript
Last synced: 8 days ago
JSON representation
Type-safe NoSQL with Node & SQLite. 🌫️💽
- Host: GitHub
- URL: https://github.com/aerotoad/neboa
- Owner: aerotoad
- License: agpl-3.0
- Created: 2023-07-27T10:42:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-22T00:43:54.000Z (about 1 year ago)
- Last Synced: 2024-10-23T02:53:59.792Z (17 days ago)
- Topics: database, document, nodejs, nosql, sqlite3, typescript
- Language: TypeScript
- Homepage: https://aerotoad.github.io/neboa/
- Size: 328 KB
- Stars: 170
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-typesafe - aerotoad/neboa - Type-safe NoSQL with Node & SQLite. (**1. Libraries** / Database)
- awesome-javascript - neboa - safe NoSQL with Node & SQLite. 🌫️💽 (Packages)
- awesome-javascript - neboa - safe NoSQL with Node & SQLite. 🌫️💽 (Packages)
README
## Description
Neboa (pronounced /ˈnɛβo̯a̝/, [from Galician](https://en.wiktionary.org/wiki/n%C3%A9boa#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](https://github.com/WiseLibs/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](https://aerotoad.github.io/neboa/) 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
```sh
npm install neboa
```### Create a new Neboa instance and initialize the database
```typescript
import { neboa } from 'neboa';
const db = neboa('path/to/database.db');
```### Create a new collection
```typescript
const Users = db.collection('users');
```### Insert a new document to the collection
```typescript
const user = Users.insert({
name: 'Darth Vader',
email: '[email protected]'
});
```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](https://aerotoad.github.io/neboa/) to get started.
Happy hacking! :tada:
## Documentation
You can see the documentation on the [website](https://aerotoad.github.io/neboa/).
Below you can find table of contents with useful links to the documentation.#### Introduction
- [What is Neboa](https://aerotoad.github.io/neboa/guide/what-is-neboa)
- [Gettting Started](https://aerotoad.github.io/neboa/guide/getting-started)#### Basic Usage
- [Connecting to a Database](https://aerotoad.github.io/neboa/guide/basic/connecting-a-database)
- [Working with collections](https://aerotoad.github.io/neboa/guide/basic/collections)#### Queries
- [Creating Queries](https://aerotoad.github.io/neboa/guide/queries/creating-queries)
- [Query constraints](https://aerotoad.github.io/neboa/guide/queries/query-constraints)
- [Relational Data](https://aerotoad.github.io/neboa/guide/queries/relational-data)#### Advanced
- [Subscriptions](https://aerotoad.github.io/neboa/guide/advanced/subscriptions)## Contributing
Thanks for your interest in contributing! Please, read on the guidelines for [contributing](CONTRIBUTING.md) and then check the [issues](https://github.com/aerotoad/neboa/issues) to see if there's anything you can help with.
Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
## License
See the [LICENSE](LICENSE) file for license rights and limitations (Affero General Public License v3.0).