跳至主内容
BAID 学生在大厅沙发上聚集,带着电脑,参与活动

WebArtistry: 北京中学编程与技术社团

社长: 蔺东来

WebArtistry GitHub

由北京中学国际部学生蔺东来发起的 WebArtistry,是一个面向编程学习者与学生开发者的计算机科学社团。社团从编程教学出发,逐步参与学校真实数字系统的设计与开发,让同学们在学习计算机科学的同时,将代码应用于校园中的实际需求。自成立以来,WebArtistry 从已有 100 余名对计算机科学感兴趣的学生参与其中。如今,社团的项目已经覆盖学校官网、校园身份认证、学生咖啡厅及学生讲座等多个校园场景,并形成了从学习编程到参与开发、再到独立完成项目的完整实践路径。

社团背景与初衷

WebArtistry 的成立源于一个简单的想法:让更多同学真正开始编程,并亲手完成能够被他人使用的作品。

在社团成立之初,学校里已经有不少同学对计算机科学感兴趣,但很多初学者面对编程时并不知道应该从哪里开始。传统的编程学习常常从语法和算法入手,而 WebArtistry 希望让同学们在学习基础知识的同时,尽早接触真实项目,通过亲手设计一个网页、完成一个功能或解决一个实际问题理解程序如何运行。

随着社团成员的增加,这一目标也逐渐延伸到了校园本身。学校里的许多日常工作都与数字系统有关:学生需要登录不同的平台,白鲸咖啡馆需要处理订单,北中小讲师需要协调报名与宣传,学校官网需要持续更新大量内容。WebArtistry 开始与校园中的学生组织及老师合作,寻找其中可以通过技术改善的问题,并由学生参与需求讨论、界面设计、程序开发和后续维护等内容。

因此,WebArtistry 逐渐形成了两个长期方向:一方面,通过课程与项目帮助更多学生学习计算机科学;另一方面,由学生开发真正服务校园的数字产品,让技术学习与校园生活建立直接联系。

WebArtistry 活动 1
WebArtistry 活动 2

编程课程与学习社区

编程教学一直是 WebArtistry 的核心活动之一。针对许多同学只有基本电脑使用经验、缺少计算思维基础的情况,社团设计了 An Introduction to Computer Science and the Art of Programming 课程。课程参考 Harvard CS50 的教学思路,同时从初学者的实际基础重新设计内容,通过项目练习帮助学生逐步掌握编程。

经过持续完善,课程已经发展为包含 28 节项目式课程的教学体系,内容涵盖 Python、Web 开发及 Git 等领域。学生在学习过程中需要亲自完成程序,从理解基本逻辑逐步进入完整项目开发。课程已经在北京中学校内连续开展超过 3 年,共有 60 余名学生参与,学生推荐率达到 95%。

WebArtistry 也将课程带到了校园之外。社团与浙江舟山南海学校合作,为当地学生开展了 3 次计算机科学专题课程,共有 44 名学生参加,并最终完成了 11 个学生项目。对 WebArtistry 来说,编程教学的目标始终落在学生自己的实践上:初学者能够理解自己写下的代码,能够解释自己的设计,也能够逐渐独立完成一个属于自己的作品。

WebArtistry 舟山 4
WebArtistry 舟山 3
WebArtistry 舟山 2
WebArtistry 舟山 1



Project Whale: 白鲸咖啡馆数字化系统

Project Whale 是 WebArtistry 与北京中学学生咖啡厅“白鲸咖啡馆”合作开发的内部点单系统。

在系统开发之前,咖啡厅主要依赖人工记录订单和处理付款。随着订单数量增加,漏单、未付款和退款逐渐给日常运营带来困难。WebArtistry 团队由此开始重新梳理整个购买流程,并于 2024 年底启动 Project Whale 的开发,在 2025 年 3 月正式投入使用。

学生可以直接通过系统浏览菜单、在线下单并提前订购,同时使用微信支付、余额等多种付款方式。系统还提供订单管理、商品管理、销售数据统计及可视化功能,并设计了“先喝后付”机制,根据校内学生信用信息支持先取商品、后续付款。为了接入微信支付,团队还针对学生项目难以独立申请商户账户的问题寻找解决方案,最终与第三方支付服务商 YunGouOS 合作完成支付接入。

Project Whale 上线后,每天服务 40 余名用户。基于系统记录的数据,咖啡厅能够更准确地分析销售情况并调整经营方式,退款率从约 34% 降至 0.6%,付款率从约 55% 提升至 98%,此前由于人工流程造成的收入损失也得到明显改善。Project Whale 让 WebArtistry 的成员第一次持续面对一个真实运营系统:一个功能上线之后,还需要接受每天的订单、付款和用户反馈,并不断根据实际使用情况继续改进。

WebArtistry Whale

LinkBAID: 校园统一身份服务

随着校园数字项目越来越多,一个新的问题逐渐出现:不同系统都需要识别学生和教师身份,而学校原有身份系统缺少完整的开发文档,也缺乏方便第三方校园应用接入的标准接口。

WebArtistry 因此开发了 LinkBAID,并于 2024 年 11 月上线。团队通过分析学校已有身份系统的运行方式,重新建立了面向校园应用的统一身份服务,并加入 OAuth2 支持,使其他学生开发的系统能够通过标准流程完成登录与身份授权。

LinkBAID 支持多语言和无障碍访问,并允许学生建立自己的校园资料,包括用户名、个人简介和头像。经过用户授权,校园应用还可以申请访问基本身份信息、联系方式及学生日历等不同级别的数据;应用本身则需要经过审批流程才能接入系统。

随着越来越多校园项目采用 LinkBAID,它逐渐成为 WebArtistry 各个系统之间共同的基础服务。根据项目材料记录,LinkBAID 已经接入超过 10 个校内服务,在当时约 300 名学生的校园群体中,每天有超过 150 名学生访问。Project Whale 和 Helium 等后续项目也直接使用 LinkBAID 完成用户登录,从而让不同校园应用拥有相互兼容的身份体系。

WebArtistry LinkBAID

Helium: 北京中学新官网与内容管理系统

北京中学原有官网建立于 2013 年。随着学校发展,旧有网站在内容维护、页面设计和信息管理方面逐渐难以满足新的需求。学校官网需要同时承载新闻、课程、教师、学生社团和活动等大量内容,每次更新都涉及人工整理与发布,长期积累的历史内容迁移也成为网站更新过程中较大的工作量。

WebArtistry 参与并继续推进了这一持续多年的校园网站更新项目,开发新的内容管理平台 Helium。团队接手项目后,将重点放在内容管理流程本身:减少重复操作,让网站编辑能够更方便地制作页面,同时建立清晰的审核与发布流程。

Helium 支持中英文等多语言内容,并与 LinkBAID 登录系统连接。网站编辑可以通过可视化页面编辑器组合页面,通过富文本工具管理文章,并集中维护活动、社团、课程及教师等不同类型的信息。系统同时加入媒体文件管理、内容审核及权限控制功能,使网站内容能够按照统一流程完成编辑和发布。

针对学校微信公众号长期积累的大量内容,团队进一步开发了自动同步流程,并结合 DeepSeek 完成辅助翻译,从而减少网站编辑重复复制和整理文章的工作。项目累计同步过去 5 年的 400 余篇内容,使平均网站更新时间减少约 79%。根据项目成本估算,由学生团队完成系统开发也为学校节省了约 5 万元的第三方开发费用。

在技术架构上,Helium 基于 Next.js 开发,并分为用于编辑与审核内容的 Helium Studio 和负责呈现页面的渲染系统。通过这一项目,WebArtistry 的工作范围从单一学生应用进一步延伸到学校的重要公共信息平台。

WebArtistry Helium
WebArtistry Helium 编辑器

北中小讲师学生讲座管理平台

北中小讲师是由学委会学术部组织的学生讲座项目,学生可以围绕自己感兴趣的学科和生活主题报名成为讲者,与校园里的其他同学分享自己的知识与经历。

随着讲座数量增加,一场活动背后的协调工作也越来越复杂。主持人安排、讲者准备、宣传任务、老师沟通和讲座资料过去分散在多个微信群及不同的任务清单中。WebArtistry 受学生会学术部委托开发北中小讲师平台,将这些流程集中到一个系统中。

平台覆盖一场学生讲座从准备到结束后的完整过程,包括安排主持人、跟进准备任务、管理活动资料,以及在活动结束后上传讲座视频和记录采访。学生还可以通过公开页面观看往期讲座、发表评论,并关注自己感兴趣的讲者。对于多次参与分享的学生,平台允许他们维护自己的个人频道,持续展示自己的讲座内容。

系统同时为组织者提供讲座数据统计与可视化,帮助学生会了解活动参与情况。项目材料显示,平台投入使用后,学生参与讲座活动的人数提高了约 17%。WebArtistry 通过这一项目将程序开发与学生组织的工作流程结合,让原本依赖大量人工沟通的活动拥有了统一的信息平台。

从学习编程到开发真实项目

WebArtistry 的项目有一个共同特点:它们都来自校园中已经存在的具体需求。咖啡厅需要处理真实订单,LinkBAID 每天承担真实的学生登录请求,学校官网承载面对公众的信息,BAID Speaker 则连接讲者、组织者和参与活动的同学。项目上线之后,开发工作依然持续,成员需要根据使用反馈修复问题、增加功能并调整原有设计。

这样的项目也为社团里的编程学习提供了进一步发展的空间。刚加入社团的同学可以从课程和基础练习开始,之后参与已有项目中的某个页面或功能,再逐渐承担更完整的开发任务。成员能够接触从需求讨论、界面设计到代码实现与维护的整个过程,也能够看到自己的工作如何影响校园里的其他学生。

WebArtistry 因此形成了一个由学习和实践共同组成的学生技术社区。成员之间分享编程知识,也共同维护实际运行的校园服务。对于初学者,社团提供进入计算机科学的起点;对于已有开发经验的同学,校园中的真实问题提供了继续探索和合作的空间。

一群学生在砖墙前合影,躺在前面的是 WebArtistry 社长

社团的成效与未来发展

经过数年的发展,WebArtistry 已经从第一年约 5 人的小型学生社团发展为覆盖超 100 名学生的计算机科学社区,并逐步建立起编程课程和校园项目两条长期发展路径。课程已经从北京中学校内延伸至浙江的合作学校,学生开发的系统也开始服务学校网站、校园商业活动、身份认证和学生学术交流等不同场景。

未来,WebArtistry 将继续完善现有校园系统,同时为新的学生开发者提供参与项目的机会。社团希望让更多同学从第一次写下程序开始,逐渐学会设计和完成自己的作品,并在校园中发现值得解决的问题。随着一届届成员加入,WebArtistry 也将继续维护和发展这些由学生共同建立的数字服务,让编程成为学生参与校园建设的一种实际方式。