Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fahad19/firenze
Adapter based JavaScript ORM for Node.js and the browser
https://github.com/fahad19/firenze
databases javascript mysql nodejs orm sql
Last synced: 13 days ago
JSON representation
Adapter based JavaScript ORM for Node.js and the browser
- Host: GitHub
- URL: https://github.com/fahad19/firenze
- Owner: fahad19
- License: mit
- Created: 2015-04-06T17:32:28.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-07-14T12:18:08.000Z (over 2 years ago)
- Last Synced: 2024-05-14T14:05:04.302Z (6 months ago)
- Topics: databases, javascript, mysql, nodejs, orm, sql
- Language: JavaScript
- Homepage: http://firenze.js.org
- Size: 1.44 MB
- Stars: 131
- Watchers: 5
- Forks: 4
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# firenze.js
[![Build Status](https://img.shields.io/travis/fahad19/firenze/master.svg)](http://travis-ci.org/fahad19/firenze) [![npm](https://img.shields.io/npm/v/firenze.svg)](https://www.npmjs.com/package/firenze) [![Join the chat at https://gitter.im/fahad19/firenze](https://img.shields.io/badge/gitter-join_chat_%E2%86%92-1dce73.svg)](https://gitter.im/fahad19/firenze)
> A database agnostic adapter-based object relational mapper (ORM) targetting node.js and the browser.
Visit [http://firenze.js.org](http://firenze.js.org) for documentation.
### Key features
* Database agnostic **Adapter** based architecture
* Intituitive **query builder**
* **Migrations** API (with rollback)
* Highly extensible with **Behavior** pattern for Collections and Models
* **Promise** based workflow
* Strong and flexible **validation** system
* **CLI** support
* API for **Transactions** for supported adapters
* Footprint of ~40kB minified fileThe project is still under active development, and more features are expected to land in future releases.
## Installation
With [npm](https://npmjs.com):
```
$ npm install --save firenze
```Or [Bower](http://bower.io):
```
$ bower install --save firenze
```### Available adapters
* [localStorage](https://github.com/fahad19/firenze-adapter-localstorage) (for browser only)
* [Memory](https://github.com/fahad19/firenze-adapter-memory) (works in both node and the browser)
* [MySQL](https://github.com/fahad19/firenze-adapter-mysql)
* [SQLite 3](https://github.com/fahad19/firenze-adapter-sqlite3)Supports v0.2.x:
* [Redis](https://github.com/fahad19/firenze-adapter-redis)
### Available behaviors
* [Slug](https://github.com/fahad19/firenze-behavior-slug)
* [Timestamp](https://github.com/fahad19/firenze-behavior-timestamp)## Testing
Tests are written with [mocha](http://mochajs.org/), and can be run via npm:
```
$ npm test
```## Thanks
The project couldn't have happened if there weren't other projects to be inspired from. A big thanks goes to these open source projects that directly or indirectly helped make it possible:
* [knex.js](https://github.com/tgriesser/knex) and [bookshelf.js](https://github.com/tgriesser/bookshelf)
* [CakePHP](http://cakephp.org/)## License
MIT © [Fahad Ibnay Heylaal](http://fahad19.com)