A startup Angular 9 / ASP.NET Core 3.1 (cross-platform ) project template with an end-to-end login, user and role management implementation. As well as other common functionalities for Quick Application Development.
FOLLOW ME on twitter for important updates
NOTE: Please post support related topics in the help & support forum. For bug reports open an issue on github.
For the older asp.net core 1.x version: Download
This application consists of:
- Template pages using Angular 9 and TypeScript
- RESTful API Backend using ASP.NET Core MVC Web API
- Database using Entity Framework Core
- Authentication based on OpenID Connect
- API Documentation using Swagger
- Webpack3 for managing client-side libraries
- Theming using Bootstrap
You get the benefits of:
- A complete backend and frontend project structure to build on, with login, user and permission-based role management already integrated
- Data Access Layer built with the Repository and Unit of Work Pattern
- Code First Database
- A RESTful API Design
- Angular Directives Quidance
- Angular Pipes Quidance
- Angular Animations Quidance
- Angular Services
- Dialog and Notification Services
- Configuration Page and Configuration Service
- Integrated Internationaliztion
- Theming with SASS
- Ready-to-use email API
- Handling Access and Refresh Tokens with WebStorage (Bearer authentication) – No Cookies
- Jquery Integration (Ability to use standard Jquery libraries)
- CRUD APIs
Installation
- [OPTION 1] Clone the Git Repository and edit with your favorite editor. e.g. Visual Studio, Visual Studio Code
- [OPTION 2] Install Project template from the Visual Studio Gallery and follow the usual File -> New Project -> Web -> QuickApp – to create a new Project from this template. Lunch with
F5
orCtrl+F5
(The usual way)
Installation Notes
- When creating a new project please wait for all dependencies (“dotnet restore” & “npm install”) to be restored.
When using VisualStudio this is automatic, check the output window or status bar to know that the package/dependencies restore process is complete before launching your program for the first time. - If you get this error: Unable to resolve ‘OpenIddict’, do the below steps to add myget.org to nuget package sources;
Copy the “NuGet.config” from the project folder to the solution’s folder (i.e. copy to the same folder location as your solutions file) and restart your IDE
OR
Add myget.org to your package sources in VisualStudio.
Visual Studio -> Tools -> Options -> NuGet Package Manager -> Package Sources, Add “aspnet-contrib”, this URL “https://www.myget.org/F/aspnet-contrib/api/v3/index.json“ - If you get any other errors, consider running manually the steps to build the project and note where the errors occur.
Open command prompt and do the below steps:- run ‘dotnet restore’ from the two project folders – Restore nuget packages
- run ‘npm install’ from the project with package.json – Restore npm packages
- run ‘npm run dev-build’ from the project with package.json – Build webpack vendor packages
- Try running the application again – Test to make sure it all works
*When I say “run from the project folder” I mean run the commands on the command line from those folders
If any step fails, post the error details on the support forum for the needed assistance. - For help and support post in the support forum. For bug reports open an issue on github
Login
LOGIN WITH USERNAME OR EMAIL ADDRESS
- Default Administrator Account
- Username: admin
- Email: admin@ebenmonney.com
- Password: tempP@ss123
- Default Standard Account
- Username: user
- Email: user@ebenmonney.com
- Password: tempP@ss123
Documentation
- Overview of QuickApp
- Conceptual overview of what is ASP.NET Core
- Angular 9 documentation overview
- Working with Data
- An introduction to webpack
Contribution
QuickApp is actively maintained by Ebenezer Monney on GitHub. You can support it by
- Submitting your changes/improvements/features using pull requests
- Suggesting ideas or areas of improvements
- Encouraging the developers by rating it/starring it
- Linking to it and recommending it to others
- Making a donation
License
Released under the MIT License.
6 Comments
Dev Sharma
February 6, 2018 at 4:08 pmHi Eben,
Thanks for great post, I ‘m trying to learn Angular for better opportunity. I have gone through your excellent post. But I’m trying to implement it from scratch how should I proceed?
Query : UpdateUser with “UserEditViewModel” parameter AND UpdateUser with “JsonPatchDocument” in this case when Patch request will be called?
BR,
Dev
Eben Monney
February 10, 2018 at 2:50 amHi Dev,
The Http PATCH API is another way to updating your models. In this case it is not used in the Angular frontend but is an implementation example for when you might want to use it.
The template uses Http PUT which is a much simpler approach to updating data through a REST API
Michael Robert Wassermann
March 26, 2018 at 8:00 pmI am having trouble with the Angular App. It does not create the Database, I am using SQL 2017
Any ideas
Pratishtha
April 20, 2018 at 10:32 pmHi. I am unable to debug the application using chrome developer tools .Is there ant seeting i can make to make it to debug and show on the source tab .
Khurram Ali
May 16, 2018 at 12:06 pmYour template is very good it would be more appreciated if you guide us how to deploy on IIS
Amit
May 21, 2018 at 7:41 pmHello Eben,
It’s really a nice post and appreciated your efforts.
Can we publish and run the solution from IIS with all dependencies as I tried publishing the solution using Visual Studio but getting the below error:
Severity Code Description Project File Line Suppression State
Error Can’t find Python executable “python”, you can set the PYTHON env variable. Quick_Application1 EXEC 0
Error The command “npm install” exited with code -1. Quick_Application1 C:\Users\xvatyagi\source\repos\Quick Application1\Quick Application1\Quick_Application1\Quick_Application1.csproj 61
Error not found: python2 Quick_Application1 EXEC 0
Error 1 Quick_Application1 EXEC 0
Error not found: python Quick_Application1 EXEC 0
Error not found: python Quick_Application1 EXEC 0
Error not found: python2 Quick_Application1 EXEC 0