1.0.7 • Published 8 years ago

devapt v1.0.7

Weekly downloads
3
License
Apache-2.0
Repository
github
Last release
8 years ago

Devapt

With DEVAPT you can easily develop powerfull application. Built-in features cover many important subjects as: authentication, restfull, http server, distributed services, logs, metrics... Main characteristics of DEVAPT architecture is dynamic behaviors, reactive programming, object oriented ES6 javascript, gulp build chain All of this on NodeJS.

A usefull application is DEVTOOLS which actualy display settings, logs, buses messages, metrics and topology.

DEVTOOLS project

DEVTOOLS demo

In a near futur, DEVTOOLS will act as a configurable application builder for DEVAPT applications.

devapt and devapt-* github repositories have the same structure: a master branch with the last tagged tree, a develop branch with latest comited updates and tags.

Versionning use standard method: M.m.p with M is a major change, m a minor change, p a patch.

Current version: 1.0.x

GitHub project

NPM package

WHAT IS IT?

The Developpers Application Toolkit is a usefull package for developers: create quickly and securely a complex distributed set of applications or a simple alone application into one or more nodejs.

This project is based on Javascript (ECMAscript 6 transpiled in ES5) and nodejs. Devapt contains a server runtime and a set of client features. Devapt help you to write less code and to use easily more features.

The principle is simple: you write some configuration files for distributed nodes, models, views and menus and the you start the application. The framework will automatically generates the server and manages common features (logges, traces, metrics, restful, security...). Simply launch index.html and your application is up a rich user interface and many features.

See FEATURES on GitHub Or FEATURES on web doc

USAGE

See GETTING STARTED on GitHub Or GETTING STARTED on web doc

Documentation: API

Devapt library offers a "runtime" instance which delivers this features:

  • browser or server rendering (Render instance)
  • rendering base class for custom widgets or views (Component class)
  • Redux store on client side
  • distributed servers
  • master configuration settings (distributed on each nodes)
  • loggers engines and traces configuration (for instances, classes, modules)
  • datas abstraction
  • reactive programming (thanks BaconJS)
  • documentation (wotrk in progress)

LICENCE

Copyright Luc BORIES 2015-2016

Apache Version 2 license.

See LICENSE on GitHub

ROADMAP

  • 0.9.0 initial release (not ready for production)
  • 1.0.0 first stable release
  • 1.1.0 add features and tests

See ROADMAP on GitHub or ROADMAP on web doc

BUGS

See BUGS

Technical details

With Devapt you define:

  • A topology, simple (one application, one server, one service) or complex (many services distributed for many applications on many distributed servers).
  • Some resources (models, views, menubars, menus)
  • Security rules

A topology contains:

  • nodes: A node is a nodejs process with an unique name. You can have many nodes on the same machine. Each node communicates with other node through messaging buses (messages, metrics, logs).

Messaging

A node can have one or many servers.

  • servers: A server provides one or more services and listen client connections through a couple (host, port).

A server has a unique name and can be one of types: restify, express, socket.io (coming soon)...

  • services: A service offers one feature to clients. A service can be one of: static assets providers, generic middleware provider, RESTfull provider, resources provider...
  • applications: An application contains some services and is provided through nodes and servers.

An application can have one service on one server on one node. Or many services on many servers on many nodes.

An application contains:

  • modules: functional features for applications (a set of preconfigured UI for example).
  • plugins: technical fearures for applications (a rendering provider for example).
  • security: defines authentication and authorization rules.

Distributed

The rendering engines are plugins and rendering classes are stateless: state is stored in a Redux store. See Getting Started with Redux for flow concepts.

Devapt is a glue between many powerfull projects

Thanks for all projects leaders and contributers.

The given list is an extract of all used or inspired projects.

Main dependancies:

NodeJS: https://nodejs.org

Servers and datas access:

Security:

Foundations:

Rendering:

Dev and build dependancies: (coming soon.)

Installation

Please see the file called INSTALL.md.

Contacts

To subscribe to news or report a bug or contribute to the project, use the project website at https://github.com/lucbories/devapt.