A Module-Based NodeJS Web Application Framework in ES6
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
md
script
src
static
templates/html
test/src
.editorconfig
.eslintrc
.gitignore
.jscsrc
.npmignore
.travis.yml
.watchmanconfig
AngieFile.json
LICENSE
README.md
esdoc.json
gulpfile.babel.js
npm-shrinkwrap.json
package.json
wallaby-babel.js

README.md

emblem

A Module-Based NodeJS Web Application Framework in ES6

npm version iojs support node support npm downloads build status Coverage Status documentation

NPM

Usage

npm i -g angie
angie help

If you want your files to automatically refresh with the angie watch command, run this from the root of the Angie package:

chmod +x script/watchman.sh && ./script/watchman.sh

or install Facebook Watchman from the instructions here.

About

Angie is an MVC that runs in NodeJS designed with AngularJS in mind. It allows you to create web applications by routing requests to controllers and directives and referencing data models in a fashion similar to how you would using AngularJS. Although the naming and providers are different, the goals and best practices are the same.

Angie is simple to use, flexible, and lightweight and offers a holistic approach to JavaScript across the stack.

For more details on how to get started, please see the Quickstart section. For a list of Frequently Asked Questions, please see the FAQ and the CHANGELOG for an up to date list of changes. AngularJS is in no way used or affiliated with this project.

Contributors

It's easy to contribute to the Angie Framework: - Feature requests should be made through the issues section of this repository. - Issues should be logged through the issues tab as well. - Ancillary functionality can be added to Angie in a package. You may use the Angie Package Template as a bootstrapped dependency package template.

Contributors to this Project are outlined in the CONTRIBUTORS file.

Features

Write components & modules like you would in AngularJS

Angie lets you create modules the way you would on the front end to serve as Controllers, directives, services, and Models on the back end. Both 1.x and 2.x AngularJS flavor syntax is supported.

Easy to use CLI

Scaffold a new project, run a web server, sync your database, migrate your models, open an Angie shell, and more all from the command line.

Dependencies

Angie allows you to define dependencies to inject services straight into your application from any other Angie application. In the AngieFile.json created when you scaffold an app is a "dependencies" section. Add the absolute path of another Angie project to this list and when the app is bootstrapped, it will give you access to any of the code you have created in the dependency application.

RESTful API responses & template rendering

Angie RESTful responses are accomplished via the Angie REST Framework. With the inclusion of this dependency, your Controllers have the ability to route requests via "allowed" method endpoints and serialize request and render response data from the Controller methods into a variety of formats.

Templates can be pre-rendered by Controllers with Angie! The template compiler understands partial templates, scope inclusion, and can execute default or custom directives.

Flexible ORM

Angie makes creating & maintaining data models across many different databases easy. Add your configuration options to a configuration file, sync your database and perform CRUDdy operations with ease. Support for more databases is being added all the time. For more information on the ORM, please visit the Angie ORM Repository

Documentation

Angie documentation can be found here.

Quickstart

Please see the QUICKSTART guide for more details.