Changes

stoney core: Requirements

2,000 bytes added, 12:56, 16 April 2014
* Use the new [[Application_Programming_Interface_(API)#REST_API | REST API]].
* Use JavaScript framework for the web client.
** Use one of [http://angularjs.org/ AngularJS] as base (perhaps starting with [https://github.com/angular/angular-seed Angular Seed]?)*** Add [https://github.com/mgonto/restangular Restangular] to make it even easier to connect to the following MVCREST-JavascriptAPI, see also this [http://stackoverflow.com/questions/16394089/how-Frameworkto-access-the-services-from-restful-api-in-my-angularjs-page answer on stackoverflow]*** From [http://angular-ui.github.io/bootstrap/ angular-ui] use:*** AngularJS (Google)* [http://angular-ui.github.io/bootstrap/ UI-Bootstrap] to integrate with Bootstrap 3*** Backbone* [http://angular-ui.js (Twitter?)github.io/ui-utils/ UI-Utils] as needed*** Ember* [https://github.JS (Apple)com/angular-ui/ui-router UI-router] as needed**** [https://github.com/angular-ui/alias UI-Alias] as needed*** Integrate [http://requirejs.org/ RequireJS]
*** See [http://todomvc.com/ comparison based on a simple webapp]. All suggestions have corresponding Yii extensions.
* Use HTML5 and not HTML 4.01, not transitional, not XHTML
** Possibly use Use [http://getbootstrap.com/ bootstrap] or [http://html5boilerplate.com/ HTML5 Boilerplate] (or version 3) resp. [http://angular-ui.github.io/bootstrap/ angularAngularUI-uiBootstrap] when using angular) to get a working pre-defined environment including compat-shims for IE, etc.* Translation:** http://pascalprecht.github.io/angular-translate/* Testing** Use [http://pivotal.github.io/jasmine/ Jasmine] for JavaScript testing** Use SeleniumHQ or [http://phantomjs.org/ PhantomJS] for automated testing** Possibly use [http://gruntjs.com/ GruntJS] for an automated workflow** Use one of the following options for the REST API Testing (& documentation):*** [http://frisbyjs.com/ Frisby], partially uses Jasmine and integrates via JUnit XML output with Jenkins**** Has integrated JSON Schema Testing!*** [https://github.com/apiaryio/dredd Dredd]+[http://apiblueprint.org/ apiblueprint] (perhaps directly via the webservice at http://apiary.io/) which makes it possible to keep specification, documentation and example in one place and test the REST API against the specification and use the examples as test cases.*** [http://developers.helloreverb.com/swagger/ Swagger]*** [http://json-schema.org/ JSON Schema]** Use static mock json objects under different URLs to provide mock server-side data for testing the webfrontend
* Clean URLs
** URLs are specified by stepping stone GmbH
** URLs have to be bookmarkable
** When using a MVC-Javascript-Framework, the URL will partially be managed by javascript and not directly reach the server** Either , therefore either Yii or the webserver must be able to handle such URLs when a user directly accesses such a page ("deep linking", for example via a bookmark). In AngularJS this is supposed to be done by serving the same page as for a an URL higher in the hierarchy and the JavaScript Framework will then do the right thing.
* Interaction design
** When directly accessing a URL and the session is invalid, the user must be forwarded to the requested page after successful authentication (clean referrer handling)
** Back-Button must be working properly, even when using a single-page design (see above), ensured by using a proper JavaScript framework.
** Make sure that filters, current page, etc. are preserved when going into detail view of an item and back again
*** Left orientated
*** Still keep a minimum white space on left and right borders
* Create a fluid layout, for example using [http://getbootstrap.com/ bootstrap]
* Billing (belongs to core and to the modules, here we have the basic functionality)
*** As a formula
*** or as a table with the discount steps
** Whitelabel Billing
 
* Billing (per Module)
Bureaucrat, administrator
425
edits