A reference app for building single page apps (SPA) with ASP.NET Web API 2 and AngularJS, developed by Marlabs
- ASP.NET Web API 2
- EF 6 Code First
- Semantic UI
Building the application
- Build the solution to install Nuget packages.(This will automatically restore Nuget packages. Please ensure you have Nuget version 2.7 or higher)
- The Project ResourceMetada.API is configured to run using IIS Express.
- Before starting the Client Application (ResourceMetadata.Web), please ensure that the API project is running in IIS or IIS express.
- Config.js file at source/ResourceMetadata/ResourceMetadata.Web/Scripts/config.js holds the api url used by the Client application. Update this file to change the api url appropriately.
- If you haven't installed Node.js, download and install it from http://nodejs.org/
- Navigate to the directory of ResourceMetadata.Web project source/ResourceMetadata/ResourceMetadata.Web/ in command prompt.
- Run command npm install
- Execute gulp tasks
- Run command gulp build.
- In order to clean the destination files created by build task, run gulp cleanbuild.
- To run unit tests, run the command gulp tests
Migrating from Previous Versions
If you are already using the previous versions of the App, please drop the database ResourceMetadata from your SQL server before running the Application.
Changes in v1.2.0
- Added paging with ng-Table.
- Role based security for both server-side and client-side.
Role Based Security
Role based security has been implemented on both client-side and server-side. Write operations on the "Location" entity is restricted with admin role. There is a pre-defined admin user with credentials firstname.lastname@example.org/Marlabs
- REST API with ASP.NET Web API 2.
- Server-Side security with ASP.NET Identity.
- Single Page Application(SPA) with AngularJS.
- AngularJS factory $resource for interacting with RESTful server-side data sources.
- AngularJS $http interceptors.
- AngularJS directives.
- Task automation with Gulp.js
- Paging using ng-Table.
- Role based security.
- Leverage Browserify
- Performance optimizations and best prarctices for SPA.
- Enhanced security model for SPA.
- Next-generation hybrid mobile apps with HTML5 and AngularJS.