Internal server error while connect laravel and angulars

I want to develop simple front end AngularJS and backend Laravel. I don’t know why my AngularJS route is not connected with laravel route.It keep mention as GET http://localhost/api/todos Internal server error. I hope someone can help me to solve it. Thanks in advance.

Hello.php

<html>
<head>
    <title>Laravel + Angularjs</title>
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.min.js"></script>
</head>
<body ng-App>
    <div id="todos" ng-controller="Todoctrl">
    <h3 class="page-header">Todos<small ng-if="remaining()">{{remaining()}} remaining</small>
    </h3>
    <ul  class="unstyled">
        <li ng-repeat="todo in todos">
            <input type="checkbox" ng-model="todo.done">
            {{todo.text}}
        </li>
    </ul>
    </div>
</script>
    <script src="js/app.js">
</script>
</body>
</html>

Todo.php(model)

<?php

    namespace App;

    use IlluminateDatabaseEloquentModel;

    class Todo extends Model
    {
        protected $guarderd = [];

    }

api.php

  Route::middleware('auth:api')->get('/user', function (Request $request) {
        return $request->user();
    });
    Route::get('/todos',function(Request $request){
        return $request->user();
    });

app.js
function Todoctrl($scope,$http){
    $http.get('api/todos').success(function(todos){
        $scope.todos = todos;
    });
    $scope.remaining = function(){
        var count = 0;
        angular.forEach($scope.todos,function(todo){
            count == todo.done ? 0 : 1;
        });

    }
}

Source: AngularJS