Skip to content

llsqc/workflow-editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

workflow-editor

应用启动方式

docker部署

基于docker启动步骤如下

  • 在有docker的linux环境下,进入/scripts目录,执行make命令即可
  • make clean命令可以清除创建的容器
  • windows系统推荐使用wsl

手动部署

手动部署需要如下步骤

  • 在本地部署一个mongoDB
  • 并将./workflow-backend/biz/infra/consts/database.py文件下相应的配置修改为本地配置
  • 本地配置python环境
  • pip install ./workflow-backend/biz/requirements.txt 下载需要的依赖
  • 通过python命令运行python app.py文件
  • python /scripts/case.py 通过脚步生成样例
  • 本地配置node环境
  • npm run dev 启动前端项目

说明

后端项目运行在5000端口处 前端项目预选在3000端口处

case说明

case1-简历筛选与自动通知

在常规招聘流程中,HR需要逐个浏览简历,判断求职者与招聘需求是否匹配,如果匹配则还需要找出邮箱并发送面试通知。这个过程通常重复且枯燥,可以通过工作流来自动化。

整个流程分为四个主要步骤:

  1. 简历分析:分析应聘者的简历,提取关键信息,如姓名、邮箱、优点和缺点。
  2. 条件判断:根据分析结果,判断应聘者是否符合前端开发职位的要求,输出是否通过一面。
  3. 通过者名单生成:输出通过一面筛选的应聘者名单,格式为JSON数组。
  4. 邮件通知:根据通过者名单,自动发送邮件通知给通过一面筛选的应聘者。

主要步骤:

  1. Analyser - HR:从简历中提取出各个求职者的优势与缺陷
  2. Judge - Filter:根据求职者的优缺点,判断是否通过
  3. Analyser - Extractor:提取出通过一面的求职者信息
  4. Handler - Communicant:邮件通知各个通过面试的求职者。

输入样例:

姓名: 张伟

联系信息:

电话: 138-1234-5678
邮箱: [email protected]
教育背景:

学士学位: 计算机科学与技术,野鸡大学 (2015 - 2019)
工作经验:

公司: 百度

职位: 实习开发工程师 (2020 - 2021)
职责:
参与公司内部项目的开发,主要负责后端接口的设计与实现。
学习并应用最新的开发技术和工具,提高开发效率。

技能:

编程语言: Java
框架: Spring Boot
数据库: MySQL, PostgreSQL, MongoDB
工具: Git, Docker
项目经验:

项目名称: 在线教育平台

角色: 后端开发工程师
描述: 负责平台后端服务的设计与实现,支持百万级用户同时在线学习。
技术栈: Java, Spring Boot, MySQL, Redis

岗位: 高级软件工程师
期望薪资: 月薪 30k - 40k
工作地点: 北京
自我评价:

五年软件开发经验,精通多种编程语言和技术框架,具备良好的团队合作和沟通能力。
有多个大型项目的开发经验,能够独立解决问题,适应快节奏的工作环境。

姓名: 李华

联系信息:

电话: 139-9876-5432
邮箱: [email protected]
教育背景:

学士学位: 计算机科学与技术,浙江大学 (2014 - 2018)
硕士学位: 人机交互,复旦大学 (2018 - 2020)
工作经验:

公司: 腾讯

职位: 前端开发工程师 (2020 - 至今)
职责:
参与多个大型项目的前端开发,负责前端架构的设计与实现。
优化前端性能,提升用户体验。
与后端团队紧密合作,确保前后端接口的高效对接。
使用最新的前端技术和工具,提升开发效率和代码质量。
撰写和维护技术文档,指导团队成员解决技术难题。
公司: 腾讯

职位: 实习开发工程师 (2019 - 2020)
职责:
参与公司内部项目和产品的前端开发,主要负责用户界面的设计与实现。
学习并应用最新的前端技术和框架,提升开发效率。
与设计、后端团队密切合作,确保项目按时高质量交付。
技能证书:

Google Certified Professional - Cloud Developer
AWS Certified Developer - Associate
技能:

编程语言: JavaScript, TypeScript, HTML, CSS
框架: React, Vue.js, Angular
工具: Webpack, Babel, ESLint, Prettier
版本控制: Git
设计工具: Figma, Sketch
项目经验:

项目名称: 社交媒体平台

角色: 前端开发工程师
描述: 负责平台前端架构的设计与实现,支持百万级用户同时在线互动。
技术栈: React, TypeScript, Redux, Webpack, Node.js
项目名称: 企业级管理平台

角色: 前端技术负责人
描述: 领导团队完成项目的前端开发与上线,实现了企业的高效管理和用户体验的提升。
技术栈: Vue.js, Vuex, Vite, GraphQL
求职意向:

岗位: 高级前端开发工程师
期望薪资: 月薪 30k - 40k
工作地点: 北京
自我评价:

五年前端开发经验,精通多种前端框架和技术工具,具备良好的团队合作和沟通能力。
有多个大型项目的开发经验,能够独立解决问题,适应快节奏的工作环境。
注重用户体验,追求技术的持续创新和自我提升。

邮件发送代码参考

import json
import smtplib
import string
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

SUBJECT = '[面试通知] 一面通过'
SENDER = '[email protected]'
AUTHORIZATION_CODE = 'godhxkrehrewhdjf'

SMTP_SERVER = 'smtp.qq.com'
SMTP_PORT = 465

# 创建邮件
candidates = json.loads(text)
result = ''
for candidate in candidates:
    message = MIMEMultipart()
    message['From'] = SENDER
    message['To'] = candidate['email']
    message['Subject'] = SUBJECT

    # 邮件正文
    body = candidate['name'] + "同学,你好!恭喜通过我司第一轮面试,请耐心等待后续面试通知"
    message.attach(MIMEText(body, 'plain'))

    # 连接到SMTP服务器并发送邮件
    try:
        server = smtplib.SMTP_SSL(SMTP_SERVER, SMTP_PORT)  # 链接SMTP服务器
        server.login(SENDER, AUTHORIZATION_CODE)  # 登录SMTP服务器
        content = message.as_string()
        server.sendmail(SENDER, candidate['email'], content)
        server.quit()
        result += candidate['name'] + ':' + candidate['email'] + '通知邮件发送成功'

    except Exception as e:
        result += candidate['name'] + ':' + candidate['email'] + '通知邮件发送失败'

case2-Python自动化教学工具

在教学过程中,教师需要根据学生的知识掌握情况为学生筛 选定制学生需要的题目以供学生巩固薄弱知识点。使用该工作流能根据学生提供的题目,给出正确的解答,然后分析出涉及的知识点并举一反三给出类似的题目用于巩固知识

整个流程分为三个主要步骤:

  1. 题目解答:按照Python老师的口味解答题目,分析解题过程并给出注释
  2. 知识点分析:分析给出题目的知识点
  3. 题目生成:根据分析得到的知识点,为学生生成新的题目,提供输入输出样例,解题提示和参考答案

主要步骤:

  1. Analyser - Answer:分析题目,给出该题的正确答案
  2. Analyser - Teacher:分析该题中涉及到的各个知识点
  3. Analyser - Questioner:根据涉及到的知识点,给出类似的题目,用于巩固

输入样例:

[NOIP2005 普及组] 采药

题目描述

辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”
如果你是辰辰,你能完成这个任务吗?

输入格式
第一行有 $2$ 个整数 $T$($1 \le T \le 1000$)和 $M$($1 \le  M \le 100$),用一个空格隔开,$T$ 代表总共能够用来采药的时间,$M$ 代表山洞里的草药的数目。
接下来的 $M$ 行每行包括两个在 $1$ 到 $100$ 之间(包括 $1$ 和 $100$)的整数,分别表示采摘某株草药的时间和这株草药的价值。

输出格式
输出在规定的时间内可以采到的草药的最大总价值。

样例 #1
样例输入 #1
70 3
71 100
69 1
1 2

样例输出 #1
3

【数据范围】
 对于 $30\%$ 的数据,$M \le 10$;
 对于全部的数据,$M \le 100$。

【题目来源】
NOIP 2005 普及组第三题

case3-绘画创作自动化

该工作流能批改小朋友写的作文,并根据小朋友写的作文,分析故事的主要人物、情节,分许需要的风格,生成对应的绘本图片,能完成装订校刊等方便小朋友教学的功能

整个流程分为四个主要步骤:

  1. 作文批改:批改作文并提供修改意见
  2. 作文概述:提炼小朋友写的作文的内容要点
  3. 画风分析:根据所提炼的作文概述,分析这篇作文的文字风格和内容适合用什么样的画风来展现
  4. 绘画:根据分析的画风与内容梗概,绘制符合的绘本图片

主要步骤:

  1. Analyser - Teacher:批改作文并提供修改意见
  2. Analyser - Story:分析故事,梳理主要的人物、情节
  3. Analyser - Style:分析这个故事需要的风格
  4. Painter - Illustrator:根据人物、情节、风格绘制对应的图片

输入样例:

    童年就像一个五彩斑斓的盒子,里面装满了许许多多五彩缤纷的珍珠。有些已经随着岁月的流失而渐渐褪色,有些却依然光彩照人,使我难以忘怀。 
    
    一年前的某一天,妈妈带着我和领居家的小朋友一起去做蛋糕。我们一路说说笑笑,不一会儿就到达了目的地。 
    
    工作人员给我们了两块香喷喷的蛋糕,让我们给蛋糕抹上奶油。我拿着刷板,呆呆地坐在那里,不知道该从哪儿开始刷。妈妈看我那不知所措的样子,立马就
急了。她说:“唉,真笨!看好了,我来给你演示一下。”说完,便飞快地用刷板抹起了奶油。我专心致志地观察妈妈是怎样抹奶油的。 
    
    看了一会儿,我恍然大悟。抹奶油也不过如此嘛!我自告奋勇地让妈妈把刷板递给我,决定自己尝试一下。在妈妈的指导下,我成功地将奶油刷好了。
    
    刷完了奶油,就应该给蛋糕做装饰了。我拿起了挤彩色奶油的工具,准备做一个多口味的彩色蛋糕。我想涂一朵小花,可手就像不听使唤似的,在漫无目的地乱涂。
再看看邻居家的小孩吧,他已经涂上了好几朵小花,都准备放水果了。我只好向妈妈求助。
    
    妈妈看了我的“杰作”后,先是皱了一下眉头,然后叹了一口气,无奈地说:“这我可帮不了你,你自己随便涂涂吧。”听了妈妈的话,我失望极了,只好垂头丧气地乱涂。 
    
    虽然我的蛋糕做得很不理想,但工作人员说,我的蛋糕与众不同。听了这话,我的心情好了一些。 
    
    这件事虽然已经过去了一段时间,但我从中明白了:做什么事都要坚持下去,不能半途而废。只有坚持不懈,并且相信自己,那么最后一定能把事做好。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published