Technologies

A list of the technologies used (or are planned) for the project:

  • Javascript / Angular / Bootstrap for the school management client (in the browser).
    • This puts the processing load in Javasacript so the server does not get overloaded.
    • This stack has a decent reputation for working for tablets.
  • The Scaffold is: generator-cg-angular (https://github.com/cgross/generator-cg-angular): Yeoman generator for Enterprise Angular projects.
    • AngularJS (Javascript framework)
    • Bootstrap (Css / LESS style framework for mobile responsiveness)
    • RESTful server interface
    • Concatenates and minifys for fast app loading.
    • Contains sub-generators to rapidly create the different parts of the project.
    • Rapid development and deployment.
    • Description
      • This generator follows the Angular Best Practice Guidelines for Project Structure.
      • Features
        • Provides a directory structure geared towards large Angular projects.
          • Each controller, service, filter, and directive are placed in their own file.
          • All files related to a conceptual unit are placed together. For example, the controller, HTML, LESS, and unit test for a partial are placed together in the same directory.
        • Provides a ready-made Grunt build that produces an extremely optimized distribution.
          • Build uses grunt-ngmin so you don’t have to use the Angular injection syntax for safe minification (i.e. you dont need $inject or (['$scope','$http',....
          • grunt serve task allows you to run a simple development server with watch/livereload enabled. Additionally, JSHint and the appropriate unit tests are run for the changed files.
        • Integrates Bower for package management
        • Includes Yeoman subgenerators for directives, services, partials, filters, and modules.
        • Integrates LESS and includes Bootstrap via the source LESS files allowing you to reuse Bootstrap vars/mixins/etc.
        • Easily Testable – Each sub-generator creates a skeleton unit test. Unit tests can be run via grunt test and they run automatically during the grunt watch that is active during grunt serve.
  • The server side back end will be PHP/MySQL.
  • I’ll be using Phaser for the HTML5 games.