All Projects → tycomo → generator-pwa-angular-core

tycomo / generator-pwa-angular-core

Licence: MIT license
Progressive Web App using Angular 4, .NET Core, and Entity Framework

Programming Languages

javascript
184084 projects - #8 most used programming language
C#
18002 projects
typescript
32286 projects
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to generator-pwa-angular-core

evil-and-not-wholly-awesome-firefox
[deprecated since Mozilla turned evil] A list of resources for and about Mozilla Firefox
Stars: ✭ 29 (+31.82%)
Mutual labels:  deprecated
otc-tools
(Deprecated) Simple bash/curl/jq based command line tool using the OpenStack and OTC specific REST APIs.
Stars: ✭ 27 (+22.73%)
Mutual labels:  deprecated
soph
AI in action
Stars: ✭ 39 (+77.27%)
Mutual labels:  deprecated
octopush
[DEPRECATED] Open Source Octopush project
Stars: ✭ 22 (+0%)
Mutual labels:  deprecated
dcos-windows
Microsoft Windows support to DCOS
Stars: ✭ 12 (-45.45%)
Mutual labels:  deprecated
eeglab plugin aar
AAR plug-in for EEGLAB
Stars: ✭ 18 (-18.18%)
Mutual labels:  deprecated
contentstats
DEPRECATED – See how many entries have been created for channels and structures in your Craft CMS website.
Stars: ✭ 29 (+31.82%)
Mutual labels:  deprecated
authn
Prototype version of AuthN service. See: keratin/authn-server
Stars: ✭ 34 (+54.55%)
Mutual labels:  deprecated
Sphero-Win-SDK
🚫 DEPRECATED: Sphero SDK for Win 8.1+ using RFCOMM
Stars: ✭ 36 (+63.64%)
Mutual labels:  deprecated
foundation-server
(v1) A scalable cryptocurrency mining pool server written in Node.js
Stars: ✭ 45 (+104.55%)
Mutual labels:  deprecated
gulp-es6-transpiler
[DEPRECATED] Transpile ES2015 to ES5
Stars: ✭ 47 (+113.64%)
Mutual labels:  deprecated
api-blueprint-ast
API Blueprint AST Serialization Media Types [adhd, apib]
Stars: ✭ 30 (+36.36%)
Mutual labels:  deprecated
marquez-web
Marquez Web UI
Stars: ✭ 23 (+4.55%)
Mutual labels:  deprecated
opensextant
Deprecated Module: See Xponents or OpenSextantToolbox as active code base.
Stars: ✭ 31 (+40.91%)
Mutual labels:  deprecated
cartesian ros control
DEPRECATED: A set of packages to bring Cartesian control functionality to the ROS-control framework.
Stars: ✭ 33 (+50%)
Mutual labels:  deprecated
firefox-better-history
A Better History page inspired by Vivaldi ⛺
Stars: ✭ 43 (+95.45%)
Mutual labels:  deprecated
TiTsEd
A save editor for Trials in Tainted Space.
Stars: ✭ 86 (+290.91%)
Mutual labels:  deprecated
core-assert
Node.js `assert` as a standalone module
Stars: ✭ 27 (+22.73%)
Mutual labels:  deprecated
papilo
DEPRECATED: Stream data processing micro-framework
Stars: ✭ 24 (+9.09%)
Mutual labels:  deprecated
python-bandwidth
Public API for interfacing with Bandwidth from Python
Stars: ✭ 16 (-27.27%)
Mutual labels:  deprecated

Yeoman PWA Angular 4 & .NET Core


A way to quickly generate a progressive web app that uses Angular 4, .NET Core, and Entity Framework. This application can be added to your desktop, or homescreen on iOS or Android devices.
Live demo: https://angularcore.azurewebsites.net/home

  • The API example (Todo list) does not work in demo (no SQL server configured in Azure).

Features

How To Get Started

  1. First, install the scaffolding tool Yeoman and the PWA Angular Core template.
npm install -g yo
npm install -g generator-pwa-angular-core
  1. Install .NET Core you should be able to find documentation on getting it up and running at the provided link.
  2. Install Angular CLI
npm install -g @angular/cli
  1. Open the command prompt and navigate to where you want the project to be located. Then run yo and then select "Pwa Angular Core"
yo
  1. You will be prompted on to enter values for the namespace, and a prefix for your components.
  2. This will take a couple minutes for all files to be copied, packages to be installed, and for webpack to compile your resources.
  • If any errors occur during this step try running "dotnet restore" or "npm install" to find out what packages are causing issues.
  1. If everything installed correctly you can now run the project by running the following command.
set ASPNETCORE_ENVIRONMENT=Development or setx ASPNETCORE_ENVIRONMENT "Development" (in powershell)
dotnet run
  1. Navigate to https://localhost:5001


9. To create your migration in your SQL server be sure the connection string in appsettings.json is correct (I use the local SQL database that comes with my Visual Studio installation). Then run the following commands to create the tables. The Todo API Example should now work.

dotnet ef migrations add InitialMigration
dotnet ef database update
  1. You can rebuild the compiled dist folder by first cleaning out the old folders then rebuilding.
npm run clean:dist
npm run build:dev

Deployment

I have not perfected the deployment to production but by running

set ASPNETCORE_ENVIRONMENT=Production or setx ASPNETCORE_ENVIRONMENT "Production" (in powershell)
npm run clean:dist
npm run build:prod

This will clean your dist folder and run your use the Webpack configuration to compile production resources using AOT and different plugins to reduce project size.
From here you can publish the file to an Azure App Service or whatever hosting service you decide to use. I was not able to get the Azure command line tools working to publish the file and ended up using simple FTP to get the files deployed.

Updates

  • 1.0.4 first release.

Development Tips

  • I recommend using Visual Studio Code for development.
  • Here are some extensions to use inside VS Code that make your life easier.

  • All the icons for iOS and Android devices can be generated using RealFavIconGenerator.
  • Be sure to check out the Angular CLI commands for generating components, services, and models.

Credit

Be sure to check out the following projects. I simplified some aspects of Asadsahis .NET Core configuration and used MarkPieszaks project for inspiration. Both are great resources on how to do certain things within Angular & .NET Core.
Progressive Web App Tutorial
Asadsahi AspNetCoreSpa Template
MarkPieszak Aspnetcore Angular 2 Universal

Areas for Improvement

  • Get lighthouse score to 100/100 currently at 82.
  • Reduce project size.
  • Angular Material 2 Treeshaking

Be sure to star the repo if this was helpful. I am planning to keep this updated and continue to improve functionality as Angular and .NET Core evolve. Make sure you are getting the updated Yeoman generator when scaffolding the project. You can update by running the yo command then selecting "Update your generators".

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].