{"id":18310898,"url":"https://github.com/jimschubert/aurelia-webapi-example","last_synced_at":"2025-04-05T18:31:45.985Z","repository":{"id":139902054,"uuid":"48723087","full_name":"jimschubert/aurelia-webapi-example","owner":"jimschubert","description":null,"archived":false,"fork":false,"pushed_at":"2017-10-18T08:10:37.000Z","size":55,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":4,"default_branch":"example","last_synced_at":"2025-03-21T08:34:57.640Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jimschubert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-12-29T02:34:30.000Z","updated_at":"2016-11-02T02:12:54.000Z","dependencies_parsed_at":"2024-01-11T00:07:55.125Z","dependency_job_id":"7e7aa9d0-c061-4cdc-8b17-a13af8697aee","html_url":"https://github.com/jimschubert/aurelia-webapi-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimschubert%2Faurelia-webapi-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimschubert%2Faurelia-webapi-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimschubert%2Faurelia-webapi-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimschubert%2Faurelia-webapi-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jimschubert","download_url":"https://codeload.github.com/jimschubert/aurelia-webapi-example/tar.gz/refs/heads/example","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247383885,"owners_count":20930365,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T16:15:48.887Z","updated_at":"2025-04-05T18:31:45.558Z","avatar_url":"https://github.com/jimschubert.png","language":"C#","funding_links":[],"categories":["Table of Contents"],"sub_categories":["Aurelia"],"readme":"# Aurelia Web API Example\n\nThis is an example of an Aurelia web application backed by an ASP.NET 5 Web API web service.\n\nThe client and server build tasks are handled by gulp.\n\nThis example assumes you are familiar with node.js, npm, and gulp.\n\n## Recommendation:\n\nIf you're using npm 2.x, I recommend upgrading npm. If you don't want to upgrade your system npm, install a version manager.\n\n    npm install nave -g\n\tnave use 4.2.2\n\tnpm install npm -g\n\tnpm --version # should be 3.x\n\nIf you don't install npm 3, projects with many npm dependencies will result in lots of nested folders and excessive disk IO.\n\n# Install\n\nDownload and install ASP.NET 5 from [https://get.asp.net/](https://get.asp.net/).\n\nInstall `1.0.0-rc1-final`:\n\n    dnvm install 1.0.0-rc1-final\n\tdnvm use 1.0.0-rc1-final\n\nInstall dependencies:\n\n    npm install\n\tnpm install gulp jspm -g\n\tjspm install\n\nSetup the database\n\n\tcd src/AureliaWebApi\n    dnx ef database update -e Production\n\n# Structure\n\n\t.\n\t├── build\n\t│   └── tasks\n\t├── node_modules\n\t├── src\n\t│   ├── Controllers\n\t│   ├── Migrations\n\t│   ├── Models\n\t│   ├── Properties\n\t│   ├── client\n\t│   │   ├── app\n\t│   │   └── specs\n\t│   └── wwwroot\n\t└── test\n\t\t└── AureliaWebApiTests\n\n* build\n\u003e Gulp build settings\n* build/tasks\n\u003e Gulp build tasks, relies on settings in parent directory\n* src\n\u003e Location of the client and server source code\n* src/{Controllers,Migrations,Models,Properties,wwwroot}\n\u003e Folders related to Web API\n* src/client\n\u003e Base folder for client-related source and tests\n* src/client/app\n\u003e The client source: Aurelia written in ES6\n* src/client/specs\n\u003e Unit and end-to-end tests for Aurelia\n* test\n\u003e Aggregate folder for all server-side tests\n\n# Configuration\n\nThis takes the AddUserSecrets extension from\nMicrosoft.Extensions.Configuration and calls it on the builder object.\nThere's a discrepancy between rc1-final packages, so PathHelper.cs and\nConfigurationExtensions.cs were taken directly from source.\n\nUser secrets can be added with the user-secret helper:\n\n    dnu commands install Microsoft.Framework.SecretManager\n\nThen, you can set a secret:\n\n    user-secret set ApiSecret:Key keyboardcat\n\nThis secret is stored unencrypted in secrets.json in your home directory\n(see ConfigurationExtensions and PathHelper for location). The benefit\nhere is the secret won't accidentally be committed to source.\n\nsee: https://github.com/aspnet/Home/wiki/DNX-Secret-Configuration\nsee:\nhttp://www.abhijainsblog.com/2015/06/using-secretmanager-in-aspnet5.html\n\n# Database\n\nCode First Blog/Post models (taken from http://ef.readthedocs.org/en/latest/getting-started/osx.html).\n\nTo run migrations:\n\n    dnx ef database update\n\nTo create additional migrations, run:\n\n    dnx ef migrations add MigrationName\n\nThen, run the update command again.\n\n# Tasks\n\n\t$ gulp help\n\t[22:52:08] Using gulpfile /Volumes/Extra/projects/AureliaWebApi/gulpfile.js\n\t[22:52:08] Starting 'help'...\n\n\tMain Tasks\n\t------------------------------\n\t\tbuild\n\t\tchangelog\n\t\tclean\n\t\tdefault\n\t\thelp\n\t\tlint\n\t\trelease\n\t\tserve\n\t\twatch\n\n\tSub Tasks\n\t------------------------------\n\t\tbuild-css\n\t\tbuild-deps\n\t\tbuild-html\n\t\tbuild-images\n\t\tbuild-sass\n\t\tbuild-source\n\t\tbump-version\n\t\tdotnet-build\n\t\tdotnet-restore\n\t\tdotnet-run\n\t\tdotnet-test\n\t\tprepare-release\n\n\t[22:52:08] Finished 'help' after 1.25 ms\n\nMain build tasks should be pretty self-explanatory.\n\nRun `gulp` and everything gets built, tested, and staged for testing in browser sync.\n\nBy default, `gulp dotnet-run` will run as a Production environment. You can run in Development by passing the environment variable:\n\n    ASPNET_ENV=Development gulp dotnet-run\n\nThe development environment will use an in-memory database while the production environment persists to a local SQLite database file.\n\n# TODO\n\n* Rethink `jspm_packages` to avoid copying from client/app to wwwroot during build.\n* Iterate all tests and execute dnx test.\n* Setup karma and end-to-end testing\n* Work up a client application in Aurelia\n* Upgrade everything to include dotnet50\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimschubert%2Faurelia-webapi-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjimschubert%2Faurelia-webapi-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimschubert%2Faurelia-webapi-example/lists"}