Mejores prácticas de RestAngular

Así que comencé a trabajar en un proyecto propio, en el que estoy desarrollando el front-end de mi sitio web. Comencé con un back-end de PHP Laravel y configuré un servicio API para mi base de datos.

Con una aplicación híbrida en mente, comencé a usar angularjs para mi aplicación web front-end. Para la comunicación con mi API usando REST, me encontré con restangular, lo cual es bastante bueno porque era exactamente lo que esperaba.

Solo hay un problema que me molesta, no existe una "guía" real sobre cómo configurar un módulo / fábrica / proveedor / servicio que se pueda mantener para replicar su API con un sistema que almacene los datos en el almacenamiento local o configure un sistema simple donde pueda inyectar el "Modelo" en un controlador y solo hazModel->getAll() para buscar todos los modelos.

Debido a que soy nuevo en angularJS, y por lo tanto, mi conocimiento sobre cómo abordar esto es bastante limitado. Hasta ahora he hecho esto:

aplicación principal

var client = angular.module('clientApp', ['angulartics', 'angulartics.google.analytics', 'ngRoute', 'restangular']);

client.config(['$routeProvider', function($routeProvider){
    $routeProvider
        .when('/', {
            controller: 'flongsController',
            templateUrl: '/client_partials/Homepage.html'
        })
        .when('/flongs/:slug', {
            controller: 'flongsController',
            templateUrl: 'client_partials/Flong.html'
        })
        .otherwise({
            redirectTo: '/'
        });
}]);

flongsController

client.controller('flongsController', ['$scope', 'Restangular', '$routeParams', function ($scope, Restangular, $routeParams) {
    //controller variables
    var baseFlongs = Restangular.all('flongs');

    $scope.flongs = {};

    init();

    function init() {
        baseFlongs.getList().then(function(flongs){
            $scope.flongs = flongs;
        });
    }

}]);

Entonces, mi pregunta es simple:

¿Cómo puedo mejorar este código para que sea más eficiente y más fácil de mantener?

Gracias de antemano, Nick van der Meij

Respuestas a la pregunta(1)

Su respuesta a la pregunta