Giter Club home page Giter Club logo

zetta's Introduction

Zetta

![Gitter](https://badges.gitter.im/Join Chat.svg) Build Status

What is it?

Zetta is an open source Node.js based platform for the internet of things. It's a complete toolkit for generating HTTP APIs for devices. Zetta is protocol agnostic meaning that it can support almost all device protocols, and mediate them to HTTP. Zetta was built from the ground up to solve specific problems around generating consistent interfaces for devices, and allowing to stream real time state of devices.

Getting started with Zetta

This is the quintessential "Hello World!" program for Zetta. This program will generate your first Zetta UI for a particular server.

var zetta = require('zetta');

zetta()
  .name('hello.world')
  .listen(1337);

Key Concepts

JavaScript

Zetta has developers express devices as state machines using an elegant and expressive syntax. Zetta is a completely nodejs based framework that is cross platform, and easily deployable to multiple cloud services.

APIs

Zetta then takes that JavaScript, and generates a consistent Hypermedia HTTP API for those devices. Our HTTP APIs are expressed using the Siren specification. We also expose websocket endpoints to stream real time events out of the Zetta system. This paradigm of merging Hypermedia with websocket streaming is also known as Reactive Hypermedia.

Queries

Zetta has a robust query system that allows you to not only search for devices, but also subscribe to websockets to be notified when new devices come online that fulfill the query. The queries have a SQL-like syntax that makes it easy to wrangle devices in the API, and Zetta itself.

Apps

Zetta also allows you to write stateless applications that live in the server itself. You can query for devices, and wire up interactions between them in these applications. These apps will run consistently whether or not your hub has internet connectivity.

Peering

Zetta can create persistent connections between servers to expose APIs in new and unqiue ways. You can peer a Zetta server in your home with a server in the cloud, and allow for access to devices on the open internet.

Installation

Retrieving the Zetta package is fairly straight forward.

git

git clone [email protected]:zettajs/zetta.git && cd zetta

npm install

NPM

npm install zetta

Community

The Zetta community is steadily growing. We have a few channels that you can talk to the Zetta team on.

You can also file an issue on our github issues page.

Docs

Visit our site at http://zettajs.github.io/ for documentation, and recipes for building systems with Zetta.

License

MIT

zetta's People

Contributors

adammagaluk avatar anil14sagar avatar gitter-badger avatar kevinswiber avatar kyork-cl avatar mdobson avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.