# Panda
**Repository Path**: notify/panda
## Basic Information
- **Project Name**: Panda
- **Description**: Abp.vNext8.1 + EF Core8.0 的微服务开源框架 项目支持 消息推送 工作流 认证中心基于OAuth2.0实现
- **Primary Language**: C#
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 6
- **Forks**: 1
- **Created**: 2024-05-24
- **Last Updated**: 2026-03-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Panda
English |
中文
ABP + EF Core Microservices open source framework
⭐ Support workflow and message push ⭐
💬 QQ group: 240647629
## 🚀 Quick experience
> [Experience address](http://139.9.70.213)
Note: Because the server memory is very small, the workflow and message notification function services are not started at present. If there is a jam, the server is dead. Please contact the author from the server or you can contact the author donation server
## 🥇 Feature list (continuously updated)
- [x] User management
- [x] Role management
- [x] Menu management
- [x] Department management
- [x] Entry log
- [x] Operation log
- [x] System bulletin
- [x] File upload
- [x] Scheduled task
- [x] Message push
- [x] Workflow
- [x] File fragment upload
- [x] Data rights module
## Core technology
### Rear end C# Asp.Net Core
- [x] Dynamic API:ABP
- [x] ORM: EF Core
- [x] Authentication and authorization:OpenIddict
- [x] Workflow:workflow-core
- [x] Log:Serilog
- [x] Module:ABP
- [x] Dependency injection:Autofac
- [x] Object mapping:AutoMapper
- [x] Unitofwork:ABP
- [x] Multi tenant:ABP
- [x] Local cache:ABP
- [x] Distributed cache:Redis
- [x] Event bus:ABP
- [x] Microservice:ABP
- [x] Message notification:SignalR
### Front end Vue 3
> [!NOTE]
> [Front-end project open source address](https://gitee.com/notify/panda.net.web)
- [x] Component library:element-plus
- [x] Route:vue-router
- [x] Store:pinia
- [x] pack:vite
- [x] Asynchronous request:axios
- [x] Chart:echarts
- [x] Workflow:jsplumb
- [x] Drag:vuedraggable
- [x] Custom form:vue + element-plus
## Project structure
```bash
# Install abp cli
dotnet tool install -g Volo.Abp.Cli
# Update abp cli
dotnet tool update -g Volo.Abp.Cli
# Create project
abp new Panda.Net -u none --separate-auth-server -dbms mysql -d ef
```
### Panda.Net.AuthServer Authorization server
> [!TIP]
> Reference document:
>
> OpenIddict
>
> https://note.youdao.com/s/I7rsNw8N
Start command
```bash
dotnet Panda.Net.AuthServer.dll --urls https://localhost:44365
```
- [x] Resource owner password credentials
- [x] Authorization code
- [x] Client credentials
- [x] Device authorization code(Can be used for App scan code login)
- [x] Implicit( OAuth2.1 Deprecated no longer implemented)
- Added postman test json, placed in `src/Panda.Net.AuthServer/postman/postman_collection.json`
- As shown in the figure
-
### Panda.Net.HttpApi.Host Service center
> [!TIP]
> Reference document:
>
> Abp extends the User table
>
> https://note.youdao.com/s/7oP7XG2O
Start command
```bash
dotnet Panda.Net.HttpApi.Host.dll --urls https://localhost:44368
```
### Panda.Workflow.HttpApi.Host Workflow
Start command
```cmd
dotnet Panda.Workflow.HttpApi.Host.dll --urls https://localhost:44598
```
screenshot:
### Database restore
```bash
# install dotnet ef cli
dotnet tool install --global dotnet-ef
# update dotnet ef cli
dotnet tool update --global dotnet-ef
# migration
dotnet ef migrations add init -c NetDbContext
# database update
dotnet ef database update -c NetDbContext
# migration scripts (for building environments)
dotnet ef migrations script --verbose -i --project "Item absolute path" -c NetDbContext -o "Script absolute path"
# Generate a script for an iteration update, the difference script from this iteration 20240329102615_file1 to 20240408082719_announcement
dotnet ef migrations script --verbose -i --project "./" -c NetDbContext -o "./2.sql" 20240329102615_file1 20240408082719_announcement
```
## Script restore
```bash
#Script restore
New database panda
Execute script src/Panda.Net.EntityFrameworkCore/panda.sql
```
## 📢 Versions
- v1.0 Rights management + menu management + department management + login log + operation log + system announcement + file upload + Scheduled task + message push + Workflow + file fragment upload + approval flow module
- v1.1 Add a data permission module
- v2.0 vue3 + role + data permission
- v2.1 Fix file upload memory leak