Muhammad Arslan
聘请我
返回项目

Schooliee

一款跨 Web 应用、移动应用和桌面消息工具端到端运营学校(学生、员工、费用和家长沟通)的多租户 SaaS。

角色: Core front-end engineer (multi-developer team)时间表: 2025-present类型: Multi-tenant SaaS (web + mobile + desktop)

Next.js 16

React 19

TypeScript

Convex

Prisma + MongoDB

Material UI

Expo

Electron

带有示例记录的 Schooliee 学生目录预览

概览

Schooliee 是一款专为巴基斯坦市场构建的云端学校管理系统。它是一个完整的多租户平台,单一的部署即可服务于平台管理员、运营一个或多个校园的学校所有者以及学生的家长。该产品跨越共享同一个后端的三个客户端:一个 Next.js Web 应用、一个白标 Expo 移动应用和一个用于批量发送 WhatsApp 消息的 Electron 桌面工具,涵盖了从学生记录和员工管理到费用收取和日常家长沟通的方方面面。这是一个仍在积极开发中的大型长期产品。

问题

运营一所学校会产生源源不断的行政工作:登记和跟踪学生、管理具有不同权限的员工、开具和追缴费用,以及多数系统处理得很糟糕的部分——真正触达家长。特别是在巴基斯坦,家长使用 WhatsApp 和手机的频率远高于电子邮件,并且他们通过 CNIC(国民身份证)进行身份识别,而不是通过他们可能记住创建的帐户。一个平台还必须同时服务多个层级:运营它的公司、为此付费的学校所有者以及使用它的家庭。在一个连贯的系统中同时为多所学校完成所有这些工作,正是 Schooliee 着手解决的问题。

我的角色与方法

这是一个由多名开发人员组成的团队经过长时间构建的大型产品,而我是其核心贡献者之一,也是这段时间内代码库中最活跃的人之一。我的工作跨越了基于角色的 Web 门户以及不同受众所依赖的共享前端基础。指导架构是按受众分离:每种类型的用户都有自己的门户和权限范围,呈分层结构,因此平台管理员位于学校所有者之上,而学校所有者又位于其校园和家长之上。所有这些都运行在一个混合了用于实时功能的实时引擎和用于核心记录的结构化数据库的后端上。

技术栈

WebNext.js 16 (App Router) with React 19, TypeScript, Material UI + Emotion, and Tailwind
后端 / 数据Convex for real-time features (chat, notifications, announcements, push) alongside Prisma over MongoDB for structured records
身份验证JWT with bcrypt, plus one-time-password flows
移动端Expo / React Native, white-labelled per school brand and built through EAS
桌面端Electron, a dedicated WhatsApp-sender application
AIVercel AI SDK with OpenAI for an in-product chat assistant
沟通Resend with React Email, web push, Expo push, and WhatsApp
支持ApexCharts, CKEditor, dnd-kit, PapaParse (CSV), camera/media capture, Serwist (PWA), and PostHog analytics

主要功能

多租户架构超级管理员层管理所有者,所有者管理校园,校园服务家长和学生,全部按角色隔离。
基于角色的门户为平台管理员、学校所有者(计费、校园、财务、待办事项)和家长提供截然不同的体验。
学生和员工管理员工的个人资料、学术跟踪和基于角色的访问权限。
财务系统费用跟踪、发票开具、付款和所有者计费。
基于 CNIC 的家长门户通过国民身份证查找家长,这与当地身份的实际运作方式相符,并提供费用查看和沟通功能。
配套移动应用一个白标 Expo 应用,可根据每个学校的品牌重新换肤。
WhatsApp 桌面发送工具一个用于通过家长实际使用的渠道向家长批量发送消息的 Electron 工具。
AI 聊天助手一个基于 AI SDK 构建的产品内助手。
实时公告和通知通过 Web 和移动推送实时送达。

图集

带有学校统计样本的 Schooliee 仪表板预览
带有示例余额和学生记录的 Schooliee 费用管理预览

挑战与解决方案

决定性的挑战在于,Schooliee 实际上是同时包含多个产品的集合体:三个客户端应用和几个不同的受众群体共享同一个系统。Web 应用通过面向特定受众的门户和角色层次结构来处理这个问题,因此平台管理员、学校所有者和家长每个人都看到了同一平台连贯的一部分,而不是千篇一律的仪表板。

数据层反映了深思熟虑的划分。聊天、公告、通知和推送等实时协作功能运行在专为实时构建的 Convex 上,而结构化的学校记录则位于基于 MongoDB 的 Prisma 中。在每个工具最擅长的地方使用它们,既保持了实时功能的响应速度,又保持了核心数据的良好建模。最困难的现实问题,即触达家长,归结为去他们所在的地方。该平台不是依靠电子邮件,而是通过 Web 和移动通知以及专门构建的 WhatsApp 桌面发送工具进行推送,并且它通过 CNIC 识别家长,因此没有帐户障碍。

成果

Schooliee 是一个仍在日常发布的生产平台:一个真正的大型多租户系统,跨越 Web、移动端和桌面端为巴基斯坦的学校提供服务。它在一次性服务多家机构的情况下,将一所学校从招生、收费到持续的家长沟通都囊括在一个平衡实时互动与结构化记录保存的后端上。对我来说,它代表了在复杂产品的整个长生命周期中持续的高级别贡献,而不是一个短期的开发项目。

有类似的产品问题?

分享当前的产品情况、您需要的成果以及已经存在的限制条件。我将以此为基础来确定一个合理的首个里程碑。

SaaS 开发服务
启动您的项目简报
所有项目下一个项目Atomic
Schooliee:多租户云端学校管理系统 (SaaS) | Muhammad Arslan