You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Racer is a realtime model synchronization engine for Node.js. By leveraging [ShareDB](https://github.com/share/sharedb), multiple users can interact with the same data in realtime via Operational Transformation, a sophisticated conflict resolution algorithm that works in realtime and with offline clients. ShareDB also supports PubSub across multiple servers for horizontal scaling. Clients can express data subscriptions and fetches in terms of queries and specific documents, so different clients can be subscribed to different overlapping sets of data. On top of this sophisticated backend, Racer provides a simple model and event interface for writing application logic.
Racer is alpha software. If you are interested in contributing, please reach out to [Nate](https://github.com/nateps).
14
-
15
5
## Demos
16
6
17
7
There are currently two demos, which are included in the [racer-examples](https://github.com/derbyjs/racer-examples) repo.
@@ -40,16 +30,9 @@ There are currently two demos, which are included in the [racer-examples](https:
40
30
***Solr queries**– (Under development) A Solr adapter will support updating Solr indices as data change and queries for realtime updated search results.
41
31
42
32
43
-
## Future features
44
-
45
-
***Browser local storage**– Pending changes and offline model data will also sync to HTML5 localStorage for persistent offline usage.
46
-
47
-
***Validation**– An implementation of shared and non-shared schema-based validation is planned.
48
-
49
-
50
33
## Installation
51
34
52
-
Racer requires [Node v0.10](http://nodejs.org/). You will also need to have a [MongoDB](http://docs.mongodb.org/manual/installation/) and a [Redis](http://redis.io/download) server running on your machine. The examples will connect via the default configurations.
35
+
Racer requires [Node v16](http://nodejs.org/). You will also need to have a [MongoDB](http://docs.mongodb.org/manual/installation/) and a [Redis](http://redis.io/download) server running on your machine. The examples will connect via the default configurations.
53
36
54
37
```
55
38
$ npm install racer
@@ -67,10 +50,10 @@ $ npm test
67
50
68
51
Racer can be used independently as shown in the examples, but Racer and Derby are designed to work especially well together. Racer can also be used along with other MVC frameworks, such as Angular.
69
52
70
-
For now, Racer is mostly documented along with Derby. See the Derby [model docs](http://derbyjs.com/docs/derby-0.6/models).
53
+
For now, Racer is mostly documented along with Derby. See the Derby [model docs](https://derbyjs.github.io/derby/models).
71
54
72
55
### MIT License
73
-
Copyright (c) 2011 by Brian Noguchi and Nate Smith
56
+
Copyright (c) 2024 by Brian Noguchi and Nate Smith
74
57
75
58
Permission is hereby granted, free of charge, to any person obtaining a copy
76
59
of this software and associated documentation files (the "Software"), to deal
@@ -90,22 +73,3 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
90
73
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
91
74
THE SOFTWARE.
92
75
93
-
## Contributors ✨
94
-
95
-
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
96
-
97
-
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
0 commit comments