All Projects → chanjunweimy → abp_plugin_with_ui

chanjunweimy / abp_plugin_with_ui

Licence: MIT license
Demo of using multiple angular applications and aspnetboilerplate to create plugin application

Programming Languages

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

Projects that are alternatives of or similar to abp plugin with ui

Spring Boot Angular4 Authentication
spring-boot and angular 4 basic authentication with spring security
Stars: ✭ 74 (+335.29%)
Mutual labels:  angular4, angular-cli
Ng Packaged
An Angular library packaged by ng-packagr
Stars: ✭ 109 (+541.18%)
Mutual labels:  angular4, angular-cli
Angular2
Angular 2 Seed
Stars: ✭ 75 (+341.18%)
Mutual labels:  angular4, angular-cli
Angularconcepts
Key Angular Concepts using Latest Angular version 5
Stars: ✭ 31 (+82.35%)
Mutual labels:  angular4, angular-cli
Sb Admin Bs4 Angular 8
Simple Dashboard Admin App built using Angular 8 and Bootstrap 4
Stars: ✭ 1,931 (+11258.82%)
Mutual labels:  angular4, angular-cli
Laravel5.5 Angular5
Laravel 5.5 + Angular 5 + AdminLTE single page application
Stars: ✭ 40 (+135.29%)
Mutual labels:  angular4, angular-cli
Angular4 Primeng Admin
angular4-primeng-admin @angular/cli开发的后台模板
Stars: ✭ 99 (+482.35%)
Mutual labels:  angular4, angular-cli
Angular Interview Questions
Most extensive Angular interview questions based on your level.
Stars: ✭ 354 (+1982.35%)
Mutual labels:  angular4, angular-cli
Angular2 Crud Rest
Sample Angular (2.x and 4.x) app: CRUD example + routing
Stars: ✭ 152 (+794.12%)
Mutual labels:  angular4, angular-cli
Spring Boot Angular4 Boilerplate
Quickstart for spring boot + angular 4 projects
Stars: ✭ 151 (+788.24%)
Mutual labels:  angular4, angular-cli
Nebular
💥 Customizable Angular UI Library based on Eva Design System 🌚✨Dark Mode
Stars: ✭ 7,368 (+43241.18%)
Mutual labels:  angular4, angular-cli
Angular4 Docker Example
Efficiently Dockerized Angular CLI example app
Stars: ✭ 212 (+1147.06%)
Mutual labels:  angular4, angular-cli
Ng Sticky
Angular 4 sticky, have header or any component sticky easy to use.
Stars: ✭ 25 (+47.06%)
Mutual labels:  angular4, angular-cli
Angular Contacts Demo
Angular demo(SSR) base on Angular CLI
Stars: ✭ 42 (+147.06%)
Mutual labels:  angular4, angular-cli
Todo Angular Firebase
Todo app with Angular CLI • AngularFire2 • Firebase • OAuth • SW-Precache
Stars: ✭ 517 (+2941.18%)
Mutual labels:  angular4, angular-cli
Coreui Free Angular Admin Template
CoreUI Angular is free Angular 2+ admin template based on Bootstrap 4
Stars: ✭ 1,279 (+7423.53%)
Mutual labels:  angular4, angular-cli
Ngx Smart Modal
Modal/Dialog component crafted for Angular
Stars: ✭ 256 (+1405.88%)
Mutual labels:  angular4, angular-cli
Angular Ssr
Angular 4+ server-side rendering solution compatible with @angular/material, jQuery, and other libraries that touch the DOM (as well as providing a rich feature set!)
Stars: ✭ 283 (+1564.71%)
Mutual labels:  angular4, angular-cli
Paper Kit 2 Angular
Free Bootstrap 4 UI Kit for Angular 2+
Stars: ✭ 133 (+682.35%)
Mutual labels:  angular4, angular-cli
Angularfire2 Offline
🔌 A simple wrapper for AngularFire2 to read and write to Firebase while offline, even after a complete refresh.
Stars: ✭ 209 (+1129.41%)
Mutual labels:  angular4, angular-cli

Plugin Architecture via Abp and Angular4+

This repository works on building a plugin architecture using ASP.NET boilerplate framework and angular 4+. It is the implementation of my idea discussed in this thread

How it works

  1. The backend (Host) plugin architecture system made use of the ASP.NET Boilerplate template.
  2. The frontend (UI) plugin is developed using multiple angular4+ applications. When the plugin is done, we need to compile and build the UI to get the minified js, html, css and assets files. Then, put the plugin-ui into the main ui wwwroot folder and use a hosting-server to run the UI. Then, voila, we can now use the plugin.

How do we add the plugin

  1. Firstly, we need a json file that states the name of the plugin, the folder name that holds all the backend dlls, the suburl needed by the plugin. You can see example at /aspnet-core/Todo.DemoPlugin/Todo.DemoPlugin.Web.Core/Todo.Demoplugin.json
  2. We need to build the Angular UI, zip them, then embed into a plugin dll, which in our case is the *.Web.Core.dll, see: /aspnet-core/Todo.DemoPlugin/Todo.DemoPlugin.Web.Core/Todo.DemoPlugin.Web.Core.csproj
  3. After building the project, you can copy and paste a json file along with the *.dll files into /aspnet-core/src/Todo.MainProject.Web.Host/PlugIns
  4. We can automate the process using powershell as shown in /aspnet-core/Todo.DemoPlugin/Todo.DemoPluginDeploy.ps1
  5. On the UI side, the main UI will automatically detect if there are any added plugin and download them. The downloader is written in C#. You can find it in /plugin-downloader/
  6. After adding the plugin, whenever the plugin is updated, we just need to replace the *.dll.

Prerequisite

  1. Setup the project accordingly according to the ASP.NET Boilerplate Documentation
  2. Install Yarn
  3. Has Powershell available.

Quick Start

Run the Host

  1. Navigate to /aspnet-core and open Todo.MainProject.sln
  2. Set /src/Todo.MainProject.Web.Host as StartUp project
  3. **[First time only] Open Package Manager Console and run Update-Database command to create your database (ensure that Default project is selected as Todo.MainProject.EntityFrameworkCore in the Package Manager Console window).
  4. Build & Run.

Run the UI

  1. Navigate to /angular and open a powershell
  2. **[First time only] Run Yarn
  3. Run ng build --prod, then Run dotnet run
  4. Open your browser and navigate to http://localhost:4200

Website with Plugin

  1. Setup the project once: Ran Update-Database and Yarn
  2. Run addPlugin.ps1 located in the root level.
  3. Now Run the Host then Run the UI

FAQ

  1. Can we use yarn start or npm start instead of running ng build and dotnet run?
    • Running yarn start or npm start would not see the plugin, so, if you want to see the plugin, then no.

Acknowledgement

Special thanks to Aspnetboilerplate for their amazing work!

If you are interested in the template, please see: Aspnetboilerplate Template Readme

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].