###

## Awesome RethinkDB

> A curated list of awesome RethinkDB resources, libraries, tools and applications

Inspired by the awesome list. Feel free to improve this list by contributing!

### Table of Contents

- Resources
- Documentation
- Community
- JavaScript
- Python
- Ruby
- Java
- Additional Languages
- Community Supported
- Research and Training
- Articles
- Talks
- RethinkDB Examples
- Community Examples
- Tools
- Administration
- Deployment

>

### RethinkDB Ecosystem

#### Documentation

- RethinkDB - RethinkDB Documentation
- ReQL API - JavaScript ReQL command reference

#### Community

- Request Slack Invite
- RethinkDB StackOverflow
- RethinkDB Blog
- RethinkDB Google Group
- RethinkDB YouTube Channel
- RethinkDB Reddit

>

### JavaScript Libraries

##### Drivers

- RethinkDB JavaScript - Officially Supported JavaScript Driver.
- Maintainer: `RethinkDB Team`
- RethinkDB Dash - An advanced Node.js driver for RethinkDB with connection pool and Streams Support.
- Maintainer: `Michel`

##### ORM

- Thinky - JavaScript ORM for RethinkDB
- Maintainer: `Michel`
- JSData RethinkDB - RethinkDB adapter for the js-data ORM.
- Maintainer: `JS Data Organization`

##### Extension Libraries

- RethinkDB Pool - Connection-pool for RethinkDB.
- Maintainer: `Hao-kang Den`
- Express Session RethinkDB - RethinkDB session store for Express 4.x.
- Maintainer: `@armenfilipetyan`

##### Technology Integrations

- Hapi RethinkDB CRUD - CRUD handlers for Hapi interaction with Rethinkdb.
- Maintainer: `Thomas Eng`
- Sails Hook Thinky - A hook to enable the Thinky ORM for RethinkDB in Sails.
- Maintainer: `Matt Wielbut`
- KOA RethinkDB - Koa middleware that gets you a RethinkDB client.
- Maintainer: `Hao-kang Den`
- RabbitMQ - Integrating RethinkDB with RabbitMQ
- Maintainer: `RethinkDB Team`

Back to top

>

### Python Libraries

##### Drivers

- RethinkDB Python - Officially Supported JavaScript Driver.
- Maintainer: `RethinkDB Team`

##### ORM

- Remodel - Very simple yet powerful and extensible Object Document Mapper for RethinkDB, written in Python.
- Maintainer: `Andrei Horak`
- Rethink - Python RethinkDB Object Mapper Interface Inspired by Appengine NDB.
- Maintainer: `Kevin Amerson`

##### Technology Integrations

- flask-rethinkdb - Adds RethinkDB support to Flask.
- Maintainer: `Andrei Horak`
- RabbitMQ - Integrating RethinkDB with RabbitMQ
- Maintainer: `RethinkDB Team`

Back to top

>

### Ruby Libraries

##### Drivers

- RethinkDB Ruby - Officially Supported Ruby Driver.
- Maintainer: `RethinkDB Team`

##### ORM

- NoBrainer - Ruby ORM for RethinkDB.
- Maintainer: `Nicolas Viennot`

##### Technology Integrations

- Epiphy - Lightweight RethinkDB ORM.
- Maintainer: `Vinh Quốc Nguyễn`
- lotus-rethinkdb - RethinkDB adapter for Lotus::Model.
- Maintainer: `Angelo Ashmore`
- RabbitMQ - Integrating RethinkDB with RabbitMQ
- Maintainer: `RethinkDB Team`

Back to top

>

### Java Libraries

##### Drivers

- RethinkDB Java - Officially Supported Java Driver.
- Maintainer: `RethinkDB Team`
- Rethinker - A simplistic serialisation library for use alongside the official RethinkDb Java driver.
- Maintainer: `Dave Hrycyszyn`
- Rethinkdb4j - Asynchronous Netty-based RethinkDB driver for Java.
- Maintainer: `Anton Ustyuzhanin`

##### ORM

- RethinkDB Java ORM - A custom POJO converter for RethinkDB Java driver.
- Maintainer: `Peter Knego`

##### Technology Integrations

- RabbitMQ - Integrating RethinkDB with RabbitMQ
- Maintainer: `RethinkDB Team`

Back to top

>

### Additional Languages

#### Community Supported Drivers

- C# - A C#/.NET RethinkDB driver striving for 100% ReQL API coverage.
- C++ - RethinkDB driver for C++.
- Clojure - A RethinkDB client for Clojure.
- Dart - A Dart driver for RethinkDB v2.0.3.
- Elixir - Multiplexed RethinkDB client in pure Elixir.
- Go - Go language driver for RethinkDB.
- Haskell - RethinkDB client library for Haskell.
- Lisp - RethinkDB driver for Common Lisp.
- Lua - Rethinkdb driver in Lua.
- Objective-C - A RethinkDB client written in Objective-C.
- Perl - A Pure Perl RethinkDB Driver.
- PHP - A PHP client driver for the RethinkDB query language (ReQL).
- Scala - Scala Driver for RethinkDB.

Back to top

>

### Research And Training

#### Articles

- Shahid Shaikh | 08-Mar-16 - Building real time polling app using RethinkDB and Nodejs.
- Dr. Gleb Bahmutov PhD | 08-Feb-16 - Redux and RethinkDB
- Scott Hasbrouck | 13-Mar-16 - Using Socket.Io With RethinkDB Changefeeds To Build A Reactive JavaScript Stack
- Khalid Abuhakmeh | 15-Nov-15 - Getting Started With RethinkDB and ASP.NET 5.
- Slava Akhmechet | 01-Sept-15 - Build real-time Web apps with RethinkDB.
- Justin for Fanout | 20-May-15 - Building a realtime API with RethinkDB.
- Nicholas Duffy | 30-Apr-15 - Getting Started with the RethinkDB Connector for LoopBack.
- Rob Conery | 17-Apr-15 - RethinkDB 2.0 Is Amazing.
- Gordon Dent | 01-Apr-15 - A Comprehensive Guide to moving from SQL to RethinkDB.
- Gordon Dent | 11-Mar-15 - We use RethinkDB at Workshape.io.

#### Talks

- Michael Glukhovsky at Clevertech | 30-Mar-16 - RethinkDB Presentation to Clevertech.
- Ryan Paul at ForwardJS | 21-Jan-16 - RethinkDB: Database for realtime apps.
- Rob Conery at DevDay 2015 | 17-Sept-15 - Rethinking NoSQL.
- Jorge Silva at RethinkDB Meetup | 29-June-15 - Data Modeling in RethinkDB.
- Ben Tranter | 05-Apr-15 - A Simple REST API with Express, RethinkDB, and Thinky.
- Associated Source
- Ryan Paul at Mattermark | 17-Feb-15 - Build a realtime RethinkDB cluster monitoring app with live graphs.
- Associated Blog Post - A realtime RethinkDB cluster monitoring app with live graphs.

#### RethinkDB Examples

- RethinkDB NodeJS Chat - A node.js chat application running on rethinkdb.
- RethinkDB Flask Backbone ToDo - A canonical backbone todo application running on flask and RethinkDB.
- RethinkDB ccoenraets/nodecellar Fork - Sample app built with Backbone.js,Bootstrap, Node.js, Express, RethinkDB.
- RethinkDB PubNub Live Blog - PubNub / Express Blog Example App.
- RethinkDB Angular Express Promise - Promise based Todo example with RethinkDB, ExpressJS and AngularJS .
- RethinkDB Angular Express - Todo example with RethinkDB, ExpressJS and AngularJS.
- RethinkDB Angular KOA - Todo example with RethinkDB, KoaJS and AngularJS.

#### Community Examples

- RethinkDB Chat - A simple chat applications built with RethinkDB + Sockets.
- RethinkDB Reactjs - rethinkdb + react.js + ActionController::Live (Rails) + Server Side Events.
- Realtime Chat RethinkDB - A realtime chatroom built with RethinkDB
- Boot RethinkDB - Chat example with spring boot and RethinkDB.
- Go RethinkDB ToDo - Go RethinkDB Todo List Example Application.
- Meguca - High performance real-time imageboard in Go, TypeScript and RethinkDB.
- VueJS RethinkDB - Vuejs + Express + RethinkDB example.
- 3ree - An example universal JS application written with the 3REE stack, React + Redux + RethinkDB + Express.
- Meteor GraphQL - A Meteor and RethinkDB Example Using GraphQL.

Back to top

>

### Tools

#### Administrative Tools

- Chateau - Another (awesome) data explorer for RethinkDB.
- RethinkDB CLI - CLI and REPL for Rethinkdb.
- RethinkDB Nightly - A node module that will execute a nightly backup and push it to S3.

#### Deployment

- Vagrant - Install RethinkDB using Vagrant.
- Puppet - Puppet module for RethinkDB.
- Chef - Chef RethinkDB cookbook.
- Wrecker - Wercker box for RethinkDB.
- Docker - Single node Dockerfile.

>

### License

rethinkdb.md Github