/JumboJS

Jumbo is modern fast enterprise level MVW framework for Node.js

Primary LanguageTypeScriptMIT LicenseMIT

JumboJS

NPM version License: MIT Gitter chat

Modern lightweight fast enterprise level MVW framework for Node.js

! Under development, but ready to use !

DOCS

Watch docs here

Docs not completed yet.

Main Features of JumboJS

  • No requires hell! Global lazy-loading namespace exists,
  • integrated Node.js clustering - multi core / CPU support,
  • advanced variable routing system (just one route enough for most apps),
  • integrated Inversion of Control - constructor Dependency Injection,
  • code can be changed while runtime,
  • unexpected errors are catched and logged, then process will be restarted,
  • client-side micro framework automatically creating SPA without any client-side programming (does not replace client frameworks) (soon),
  • fully configurable logging with log levels,
  • subdomains! More "modules" in one application accessible via subdomains,
  • a lot of things integrated but changeable thanks to Adapters,
  • code-first ORM/ODM with migrations (under development UniMapperJS),
  • sessions stored on disk and in memory for faster access,
  • model (DTO, forms) validators (soon),
  • integrated email sender (soon),
  • native async & await support,
  • high performance, ~3 900 requests per second with one worker (2,33 GHz core),
  • low dependecy,
  • integrated globalization.

Instalation

Use jumbo-developer package to create project! Project must have specific structure but this core does NOT create that structure. You can create structure on your own (see docs) but you'll just waste time.

Install jumbo-developer tool via npm.

npm install jumbo-developer -g

Run jumbo-developer from console.

jumbo-developer

It will ask you for your project directory, so enter your project directory and press ENTER. Then write

create project

and you'll have base project (default from jumbo-developer template which you can change) in directory you specified earlier.

Go to your project directory, edit your config.js file (set up DB connection or remove whole domains property) and run application.

npm start

Application will run on port 80 by default. You can change it in app.js.

See docs for more information.