/Auja

[Deprecated] Auja is an easy-to-use, easy-to-implement admin interface for managing your data. It is designed to be framework and server-side-language agnostic.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Auja

Deprecated

This repo will no longer be maintained and will be deleted in the start of 2017.

About

Build Status Dependency Status Dependency Status

Auja is a generic admin interface, you can put atop any web application easily. It is designed to be friendly for both the end-user and the developer. It is designed to be framework and server-side-language agnostic so you can use it with your language and framework of choice.

Auja basic image

In this repo you'll find the JavaScript source meant to be used together with a back-end implementation for your preferred framework, whatever server side language you use. Current back-end implementations:

To ease up implementation of the communication protocol we provide a toolkit for PHP providing interfaces and scaffolding.

Installation

Bower (prefered)

You can use Bower to load Auja into your own project. Check our special bower distribution repository for more on installing Auja through bower.

Stand alone

After cloning you will first have to install Auja's dependencies using Bower by running:

bower install

For testing and maintenance we'll be using npm you can install those dependencies using:

npm install

Now RequireJS, Fluxxor, React and other dependencies should have been downloaded to the bower_components and node_modules directories and we can continue to compile the JSX and SASS files. You can do this using Grunt. If you don't have Grunt installed you can get your hands on the CLI with

npm install -g grunt-cli

To compile the files simply run grunt from the repository root.

Now the build directory should have been filled and you can serve the example/index.html in the example directory with any web-server you want. For example, run npm install -g http-server and then run http-server from the repository root. Now you can visit http://localhost:8080/example to view the Auja implementation

Running tests

We're using Karma for spec testing our objects. For installation and running refer to their installation docs

Architecture

Auja is based on React using the Flux architecture to manage dataflow and dispatching within the application. To ease implementation of this architecture we use Fluxxor.

In short, Flux constists of four main parts:

  • (React) Views
  • Action creators
  • Dispatcher
  • Stores

This is also the order of the dataflow, starting with the user doing something in the view. This triggers an action, which is dispatched to certain stores. The stores will process/store the newly received data and, if applicable, emit that they have changed. Now the React views will be notified, through Fluxxor, that the state has changed after which the view will re-render with all React goodness.

License

Copyright 2014 Label305 B.V.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.