Deprecated
This repo will no longer be maintained and will be deleted in the start of 2017.
About
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.
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.
You can use Bower to load Auja into your own project. Check our special bower distribution repository for more on installing Auja through bower.
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
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.
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.