deep-kernel
Advanced tools
Comparing version 1.0.4 to 1.0.5
{ | ||
"name": "deep-kernel", | ||
"version": "1.0.4", | ||
"version": "1.0.5", | ||
"description": "DEEP Kernel Library", | ||
@@ -65,6 +65,7 @@ "keywords": [ | ||
"sinon": "1.17.*", | ||
"sinon-chai": "2.8.*" | ||
"sinon-chai": "2.8.*", | ||
"deep-asset": "1.0.*" | ||
}, | ||
"preferGlobal": false, | ||
"preferGlobal": true, | ||
"analyze": true | ||
} |
190
README.md
DEEP Kernel Library (deep-kernel) | ||
====================================== | ||
============== | ||
[![NPM Version](https://img.shields.io/npm/v/deep-framework.svg)](https://npmjs.org/package/deep-framework) | ||
[![Build Status](https://travis-ci.org/MitocGroup/deep-framework.svg)](https://travis-ci.org/MitocGroup/deep-framework) | ||
[![Codacy Badge](https://api.codacy.com/project/badge/823d04a90c4a4fc888e62817e3e820be)](https://www.codacy.com/app/MitocGroup/deep-framework) | ||
[![Coverage Status](https://coveralls.io/repos/MitocGroup/deep-framework/badge.svg?service=github)](https://coveralls.io/github/MitocGroup/deep-framework) | ||
[![Build Status](https://travis-ci.org/MitocGroup/deep-framework.svg?branch=master)](https://travis-ci.org/MitocGroup/deep-framework) | ||
[![Codacy Badge](https://api.codacy.com/project/badge/coverage/823d04a90c4a4fc888e62817e3e820be)](https://www.codacy.com/app/MitocGroup/deep-framework) | ||
[![API Docs](http://docs.deep.mg/badge.svg)](http://docs.deep.mg) | ||
`Digital Enterprise End-to-end Platform`, also known as `DEEP`, is low cost and low maintenance | ||
[Platform-as-a-Service](https://en.wikipedia.org/wiki/Platform_as_a_service) powered by abstracted web services | ||
from cloud providers like [Amazon Web Services](https://aws.amazon.com). This approach has been labeled as | ||
[Serverless Architecture](https://github.com/MitocGroup/deep-framework/blob/master/README.md#appendix-a-serverless-architecture). | ||
`DEEP Framework` is a core component of the | ||
[Platform-as-a-Service](https://github.com/MitocGroup/deep-framework/blob/master/README.md#appendix-b-deep-ecosystem) | ||
that abstracts web services from specific cloud providers. This framework enables developers build web applications | ||
or platforms using [microservices architecture](https://en.wikipedia.org/wiki/Microservices) in a completely | ||
[serverless approach](https://github.com/MitocGroup/deep-framework#appendix-a-serverless-architecture). | ||
`DEEP Framework` is a [core component](https://github.com/MitocGroup/deep-framework/blob/master/README.md#appendix-b-deep-components) | ||
of the Platform-as-a-Service that abstracts web services from specific cloud providers. At this moment | ||
only [Amazon Web Services](https://aws.amazon.com) is supported. Developers are encouraged to add support for | ||
[Microsoft Azure](https://azure.microsoft.com), [Google Cloud Platform](https://cloud.google.com/), and so on. | ||
> At this moment only [Amazon Web Services](https://aws.amazon.com) is supported. Developers are encouraged to add support | ||
for [Microsoft Azure](https://azure.microsoft.com), [Google Cloud Platform](https://cloud.google.com/), and so on. | ||
## Introduction [![Join char on gitter.im](https://img.shields.io/badge/%E2%8A%AA%20gitter%20-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/MitocGroup/deep-framework) | ||
## Getting Started [![Join char on gitter.im](https://img.shields.io/badge/%E2%8A%AA%20gitter%20-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/MitocGroup/deep-framework) | ||
`DEEP Framework` is a nodejs package that is published on npmjs: https://www.npmjs.com/package/deep-framework. | ||
If you are new to node and npm, check out [this tutorial](http://howtonode.org/how-to-install-nodejs) to learn more. | ||
`DEEP Framework` can be used as a module in front-end or back-end. To learn more, scroll down to | ||
[What is DEEP Framework?](https://github.com/MitocGroup/deep-framework/blob/master/README.md#what-is-deep-framework-) | ||
`DEEP Framework` is a nodejs package. In fact it's a collection of nodejs packages, also known as | ||
`DEEP Abstracted Libraries`. Here below is the complete list: | ||
To see the power of `DEEP Framework`, execute the following 4 simple steps in command line: | ||
DEEP Abstracted Library | Description and Documentation | Abstracted Web Service(s) | ||
------------------------|-------------------------------|-------------------------- | ||
[deep-asset](https://www.npmjs.com/package/deep-asset) | [Assets Management Library](http://docs.deep.mg/deep-asset) | Amazon S3 | ||
[deep-cache](https://www.npmjs.com/package/deep-cache) | [Cache Management Library](http://docs.deep.mg/deep-cache) | Amazon ElastiCache | ||
[deep-core](https://www.npmjs.com/package/deep-core) | [Core Management Library](http://docs.deep.mg/deep-core) | - | ||
[deep-db](https://www.npmjs.com/package/deep-db) | [Database Management Library](http://docs.deep.mg/deep-db) | Amazon DynamoDB, Amazon SQS | ||
[deep-di](https://www.npmjs.com/package/deep-di) | [Dependency Injection Management Library](http://docs.deep.mg/deep-di) | - | ||
[deep-event](https://www.npmjs.com/package/deep-event) | [Events Management Library](http://docs.deep.mg/deep-event) | Amazon Kinesis | ||
[deep-fs](https://www.npmjs.com/package/deep-fs) | [File System Management Library](http://docs.deep.mg/deep-fs) | Amazon S3 | ||
[deep-kernel](https://www.npmjs.com/package/deep-kernel) | [Kernel Management Library](http://docs.deep.mg/deep-kernel) | - | ||
[deep-log](https://www.npmjs.com/package/deep-log) | [Logs Management Library](http://docs.deep.mg/deep-log) | Amazon CloudWatch Logs | ||
[deep-notification](https://www.npmjs.com/package/deep-notification) | [Notifications Management Library](http://docs.deep.mg/deep-notification) | Amazon SNS | ||
[deep-resource](https://www.npmjs.com/package/deep-resource) | [Resouces Management Library](http://docs.deep.mg/deep-resource) | AWS Lambda, Amazon API Gateway | ||
[deep-security](https://www.npmjs.com/package/deep-security) | [Security Management Library](http://docs.deep.mg/deep-security) | AWS IAM, Amazon Cognito | ||
[deep-validation](https://www.npmjs.com/package/deep-validation) | [Validation Management Library](http://docs.deep.mg/deep-validation) | - | ||
1. `npm install deepify -g` # Install DEEP CLI, also known as deepify | ||
> deepify is a collection of tools that empower developers and devops engineers to automate | ||
the management of web apps built on top of DEEP ecosystem. | ||
## Getting Started [![Join char on gitter.im](https://img.shields.io/badge/%E2%8A%AA%20gitter%20-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/MitocGroup/deep-framework) | ||
2. `deepify helloworld ~/deep-hello-world` # Using deepify, dump locally the helloworld example | ||
> deepify will clone the repository from GitHub and pull all the dependencies in one place. | ||
If `DEEP Framework` is intended to be used globally, just run in command line: | ||
3. `deepify server ~/deep-hello-world -o` # Using deepify, run locally the helloworld example | ||
> deepify launches a web server that can be used for local development, without making calls | ||
to web services from cloud providers like AWS. | ||
4. `deepify deploy ~/deep-hello-world` # Using deepify, deploy to AWS the helloworld example | ||
> deepify provisions the infrastructure and deploys the web app, empowering developers and | ||
devops engineers to automate the process. | ||
To learn more about helloworld example, or other web apps that run in production, scroll down to | ||
[Who is using DEEP Framework?](https://github.com/MitocGroup/deep-framework/blob/master/README.md#who-is-using-deep-framework-) | ||
### Additional Notes | ||
Note 1: To use `DEEP Framework` globally, just run in command line: | ||
``` | ||
@@ -52,4 +49,3 @@ npm install deep-framework -g | ||
Alternatively, if used as dependency, include it in `package.json` file. For example: | ||
Note 2: Alternatively, to use `DEEP Framework` as dependency, include it in `package.json` file. For example: | ||
``` | ||
@@ -68,8 +64,49 @@ { | ||
## Examples [![Join char on gitter.im](https://img.shields.io/badge/%E2%8A%AA%20gitter%20-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/MitocGroup/deep-framework) | ||
Note 3: Also, when needed, consider specifying only some libraries instead of entire framework. For example: | ||
``` | ||
{ | ||
"name": "say-hello-world", | ||
"version": "0.0.1", | ||
"description": "AWS Lambda that says hello to the world", | ||
"dependencies": { | ||
"deep-db": "1.0.*", | ||
"deep-event": "1.0.*", | ||
"deep-resource": "1.0.*", | ||
... | ||
}, | ||
... | ||
} | ||
``` | ||
There are couple of web apps that are using `DEEP Framework` at their core: | ||
## What is DEEP Framework? [![Join char on gitter.im](https://img.shields.io/badge/%E2%8A%AA%20gitter%20-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/MitocGroup/deep-framework) | ||
### DEEP Microservices Hello World | ||
> DEEP Microservices Hello World (https://github.com/MitocGroup/deep-microservices-helloworld) is a web app | ||
`DEEP Framework` is a nodejs package that is published on npmjs: https://www.npmjs.com/package/deep-framework. | ||
> If you are new to node and npm, check out [how to install nodejs](http://howtonode.org/how-to-install-nodejs) tutorial. | ||
`DEEP Framework` is a nodejs package. In fact it's a collection of nodejs packages, also known as | ||
`DEEP Abstracted Libraries`. Here below is the complete list: | ||
DEEP Abstracted Library | [Api Docs](http://docs.deep.mg/) | Abstracted Web Service(s) | ||
------------------------|-------------------------------|-------------------------- | ||
[deep-asset](https://www.npmjs.com/package/deep-asset) | [Assets Management Library](http://docs.deep.mg/deep-asset) | Amazon S3 | ||
[deep-cache](https://www.npmjs.com/package/deep-cache) | [Cache Management Library](http://docs.deep.mg/deep-cache) | Amazon ElastiCache | ||
[deep-core](https://www.npmjs.com/package/deep-core) | [Core Management Library](http://docs.deep.mg/deep-core) | - | ||
[deep-db](https://www.npmjs.com/package/deep-db) | [Database Management Library](http://docs.deep.mg/deep-db) | Amazon DynamoDB, Amazon SQS | ||
[deep-di](https://www.npmjs.com/package/deep-di) | [Dependency Injection Management Library](http://docs.deep.mg/deep-di) | - | ||
[deep-event](https://www.npmjs.com/package/deep-event) | [Events Management Library](http://docs.deep.mg/deep-event) | Amazon Kinesis | ||
[deep-fs](https://www.npmjs.com/package/deep-fs) | [File System Management Library](http://docs.deep.mg/deep-fs) | Amazon S3 | ||
[deep-kernel](https://www.npmjs.com/package/deep-kernel) | [Kernel Management Library](http://docs.deep.mg/deep-kernel) | - | ||
[deep-log](https://www.npmjs.com/package/deep-log) | [Logs Management Library](http://docs.deep.mg/deep-log) | Amazon CloudWatch Logs | ||
[deep-notification](https://www.npmjs.com/package/deep-notification) | [Notifications Management Library](http://docs.deep.mg/deep-notification) | Amazon SNS | ||
[deep-resource](https://www.npmjs.com/package/deep-resource) | [Resouces Management Library](http://docs.deep.mg/deep-resource) | AWS Lambda, Amazon API Gateway | ||
[deep-security](https://www.npmjs.com/package/deep-security) | [Security Management Library](http://docs.deep.mg/deep-security) | AWS IAM, Amazon Cognito | ||
[deep-validation](https://www.npmjs.com/package/deep-validation) | [Validation Management Library](http://docs.deep.mg/deep-validation) | - | ||
## Who is using DEEP Framework? [![Join char on gitter.im](https://img.shields.io/badge/%E2%8A%AA%20gitter%20-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/MitocGroup/deep-framework) | ||
There are couple examples / web apps that are using `DEEP Framework` at their core: | ||
### DEEP Hello World | ||
> DEEP Hello World (https://github.com/MitocGroup/deep-microservices-helloworld) is a web app | ||
that show cases a full stack example of using DEEP Microservices in the context of Platform-as-a-Service. | ||
@@ -79,5 +116,5 @@ Developers can either fork this repository or `npm install deepify -g` (https://www.npmjs.com/package/deepify) | ||
### DEEP Microservices Todo App | ||
> DEEP Microservices Todo App (https://github.com/MitocGroup/deep-microservices-todo-app) is a web app | ||
inspired from AngularJS TodoMVC Example (https://github.com/tastejs/todomvc/tree/master/examples/angularjs). | ||
### DEEP Todo App | ||
> DEEP Todo App (https://github.com/MitocGroup/deep-microservices-todo-app) is a web app inspired from | ||
AngularJS TodoMVC Example (https://github.com/tastejs/todomvc/tree/master/examples/angularjs). | ||
It reuses AngularJS module and integrates using `DEEP Framework` to streamline development and deployment | ||
@@ -92,29 +129,4 @@ using cloud-based web services. | ||
## Continuous Integration [![Join char on gitter.im](https://img.shields.io/badge/%E2%8A%AA%20gitter%20-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/MitocGroup/deep-framework) | ||
## How can I get involved? [![Join char on gitter.im](https://img.shields.io/badge/%E2%8A%AA%20gitter%20-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/MitocGroup/deep-framework) | ||
### Travis CI [![Build Status](https://travis-ci.org/MitocGroup/deep-framework.svg)](https://travis-ci.org/MitocGroup/deep-framework) | ||
[Travis CI](https://travis-ci.org/MitocGroup/deep-framework) is a continuous integration service used to build and | ||
testprojects hosted on GitHub. Travis CI is configured by adding a file named | ||
[.travis.yml](https://github.com/MitocGroup/deep-framework/blob/master/.travis.yml), which is a YAML format text file, | ||
to the root directory of the GitHub repository. | ||
### Codacy [![Codacy Badge](https://api.codacy.com/project/badge/823d04a90c4a4fc888e62817e3e820be)](https://www.codacy.com/app/MitocGroup/deep-framework) | ||
[Codacy](https://www.codacy.com/app/MitocGroup/deep-framework) offers an automated code review tool for developers | ||
that continuously monitors code for problematic patterns, with the aim being to reduce the amount of time spent | ||
poring over code style. | ||
### Coveralls [![Coverage Status](https://coveralls.io/repos/MitocGroup/deep-framework/badge.svg?service=github)](https://coveralls.io/github/MitocGroup/deep-framework) | ||
[Coveralls](https://coveralls.io/github/MitocGroup/deep-framework) provides constant updates on your project's | ||
automated test coverage. It is now available for open source projectsto start tracking code coverage on project. | ||
### ESDoc [![API Docs](http://docs.deep.mg/badge.svg)](http://docs.deep.mg) | ||
[ESDoc](https://esdoc.org) is a documentation generator for JavaScript(ES6). It produces a practical documentation, | ||
measures the coverage, integrates the test code and more. | ||
## Involvement && Help [![Join char on gitter.im](https://img.shields.io/badge/%E2%8A%AA%20gitter%20-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/MitocGroup/deep-framework) | ||
### Feedback | ||
@@ -137,2 +149,20 @@ | ||
### Roadmap | ||
Our short-to-medium-term roadmap items, in order of descending priority: | ||
Feature | Details | Owner | ||
--------|---------|------ | ||
Implement deep-security | Security service on top of [IAM](https://aws.amazon.com/iam/) | [@mgoria](https://github.com/mgoria) | ||
Implement deep-notification | Push notification service on top of [SNS](https://aws.amazon.com/sns/) that supports push to mobile devices, web browsers, email and sms. | [@alexanderc](https://github.com/alexanderc) | ||
Implement deep-search | Full text search service on top of [Amazon CloudSearch](https://aws.amazon.com/cloudsearch/) | [@alexanderc](https://github.com/alexanderc) | ||
Implement deep-event | Event manager service using Lambda scheduling, Kinesis stream, Dynamo streaming, SQS, etc. | ... | ||
Implement deep-db "eventual consistency" | Achieve "eventual consistency" by offloading data to [SQS](https://aws.amazon.com/sqs/) as the default option | [@alexanderc](https://github.com/alexanderc) | ||
Improve deep-db "strong consistency" | Achieve "strong consistency" by increasing Reads/Writes per second in runtime (as other option for special DB operations) | ... | ||
Integrate deep-db with deep-cache natively (blocked by VPC support in Lambda) | Cache fetched data by default using deep-cache library | ... | ||
Implement deep-cache | Cache service on top of [Elasticache](https://aws.amazon.com/elasticache/) ([Redis](http://redis.io)) inside Lambdas (blocked by VPC support in Lambda) | ... | ||
Implement [RUM](https://en.wikipedia.org/wiki/Real_user_monitoring) as part of deep-logs | Achieve real user monitoring by logging all user actions and visualize them with an [ELK stack](https://www.elastic.co/webinars/introduction-elk-stack) | ... | ||
Optimize the framework to reduce the size of Lambda functions | Optimize deps and packing as well as browserify process to reduce framework size | [@alexanderc](https://github.com/alexanderc) | ||
Improve documentation for each deep-* library | Update docs for deep libraries and development tools | [@alexanderc](https://github.com/alexanderc) [@mgoria](https://github.com/mgoria) | ||
### Changelog | ||
@@ -153,4 +183,9 @@ | ||
## Appendices | ||
## What else is relevant? [![Join char on gitter.im](https://img.shields.io/badge/%E2%8A%AA%20gitter%20-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/MitocGroup/deep-framework) | ||
`Digital Enterprise End-to-end Platform`, also known as `DEEP`, is low cost and low maintenance | ||
[Platform-as-a-Service](https://en.wikipedia.org/wiki/Platform_as_a_service) powered by abstracted web services | ||
from cloud providers like [Amazon Web Services](https://aws.amazon.com). This approach has been labeled as | ||
[Serverless Architecture](https://github.com/MitocGroup/deep-framework/blob/master/README.md#appendix-a-serverless-architecture). | ||
### Appendix A: Serverless Architecture | ||
@@ -160,4 +195,17 @@ | ||
### Appendix B: DEEP Components | ||
`DEEP` is an ecosystem of [DEEP Marketplace](https://www.deep.mg), | ||
[DEEP Framework](https://github.com/MitocGroup/deep-framework) and [DEEP CLI](https://www.npmjs.com/package/deepify), | ||
also known as [deepify](https://www.npmjs.com/package/deepify). It enables developers build serverless applications | ||
using abstracted services from cloud providers like [Amazon Web Services](https://aws.amazon.com). | ||
### Appendix B: DEEP Ecosystem | ||
![Digital Enterprise End-to-end Platform aka DEEP](https://raw.githubusercontent.com/MitocGroup/deep-framework/master/docs/deep-ecosystem.png) | ||
`DEEP` aims to remove the heavy lifting from enterprise software through microservices architecture, where developers | ||
(let’s label them `lego producers`) focus only to build microservices (let’s label them `lego pieces`), while the platform | ||
does the rest: comes pre-built and pre-scaled, low-cost and low-maintenance, very secure and very fast. Customers | ||
(let’s label them `lego consumers`) will go to the marketplace, choose the microservices they need and deploy them | ||
as web apps into their own accounts on AWS (or other cloud providers). | ||
> In summary: We empowers lego consumers to license curated lego pieces from lego producers. |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
44842
205
4