endpointjs

Web application discovery, execution and streaming library

Showing:

Popularity

Downloads/wk

7

GitHub Stars

25

Maintenance

Last Commit

5yrs ago

Contributors

2

Package

Dependencies

4

License

Apache-2.0

Type Definitions

Tree-Shakeable

No?

Categories

Readme

Endpoint.js Endpoint.js v0.4.2-SNAPSHOT

Build Status

Endpoint.js enables modules within a web application to discover and use each other, whether that be on the same web page, other browser windows and tabs, iframes, servers, web workers and processes in a reactive way by providing discovery, execution and streaming interfaces.

Ad-hoc Network A robust ad-hoc application network, enabling multi-hop communication across any topology, including browser windows, tabs, web workers, web servers, processes, and peer-to-peer

Increased Performance Increased application performance, allowing easy off-loading and routing of complex processing to background workers, processes or browser tabs

Save Time Develop Here, Deploy There: Develop to uniform APIs, reducing deployment and integration details to a configuration exercise

Built-in Security Built-in security features enables fine-grained control over movement of data

How do I use it (aka "Documentation")?

Take a look at our Basic Usage, Configuration Guide, API at a Glance, Advanced Usage, Security Guide, read the suggested integration document, or check out the Architecture Diagram.

Build

You must have node.js, npm and grunt-cli installed before building Endpoint.js:

npm install -g grunt-cli

To build Endpoint.js, use the following:

npm install
grunt production

The output files will be placed in dist/ folder. To build plugins, use the following command:

grunt plugins

To build the documentation, use the following command. The files will be placed in dist/jsdoc/ folder. In addition, a markdown file of all the markdown documentation will be placed in dist/endpoint-docs.pdf.

grunt docs

To run unit tests (with chrome only for now), use the following command. Coverage reports are in reports/coverage:

grunt test

To run integration tests (with chrome only for now), use the following commands. Logs are in reports/wdio:

grunt integration-setup
grunt integration

Examples

To run the demos, use the following on the command line:

npm install
grunt demo

Open up a browser to one of the following examples:

Additionally, an example of Endpoint.js being run on the express server is provided in examples/app.js.

Contributing

All pull request contributions to this project will be released under the Apache 2.0 or compatible license. Software source code previously released under an open source license and then modified by NGA staff is considered a "joint work" (see 17 USC § 101); it is partially copyrighted, partially public domain, and as a whole is protected by the copyrights of the non-government authors and must be released according to the terms of the original open source license.

Getting Support

Our team is working to add a website and mailing list. In the meantime, you can create an issue.

Compatibility

Endpoint.js is verified compatible with IE8+ and Firefox 3.6+. Chrome in general is supported.

If you want to use console on IE8, you must include the following ES5 shims:

https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.1.13/es5-shim.min.js
https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.1.13/es5-sham.min.js

You must also include the following on IE8 and certain versions of Firefox:

https://cdnjs.cloudflare.com/ajax/libs/json2/20150503/json2.min.js

(C) 2016 Booz Allen Hamilton, All rights reserved

Powered by InnoVision, created by the GIAT

Endpoint.js was developed at the National Geospatial-Intelligence Agency (NGA) in collaboration with Booz Allen Hamilton. The government has "unlimited rights" and is releasing this software to increase the impact of government investments by providing developers with the opportunity to take things in new directions.

This documentation uses icons designed by Freepik.

License

Licensed under the Apache License, Version 2.0

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial