A Module-Based NodeJS Web Application Framework in ES6
Usage
npm i -g angieangie 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.