这个项目能做什么
CokieCollege 是一个全面的多平台解决方案,旨在管理教育机构的学术、纪律和行政事务。其目标是通过网页和移动应用,促进管理员、年级协调员、教师、学生和食堂员工之间的实时互动。
架构
系统由解耦模块组成。后端是一个基于 Node.js 和 Express 5.x 的 REST API,负责业务逻辑、使用 Helmet 的安全防护、请求限制、GZIP 压缩、通过 Supabase 进行的管理员认证,以及通过 Expo Server SDK 推送通知。移动应用使用 Expo 54、Expo Router 和 i18next(西班牙语和英语)开发,支持浅色和深色模式的响应式设计。网页门户使用 React 和 Vite 进行机构监控和管理。项目还包含一个视觉原型和设计资源文件夹。数据库采用 Supabase PostgreSQL,具有行级安全策略、认证、存储和触发器。
按角色的功能
学生模块提供教学日志,包含出勤监控和四色行为指示灯、按活动百分比细分的成绩控制台、带 Supabase 存储附件的请假申请,以及生成取餐和支付二维码的午餐预订单。
教师模块允许输入和查看成绩,验证范围 0.00 到 10.00,并带有期间倒计时、向协调员发送延期申请,以及按班级和科目实时考勤。
协调员和管理员模块包括用户管理(按角色筛选和分页)、带证据审查的请假审批、按教育水平发布通知和机构活动,以及分配时间表、班级、教室和教学负担。
食堂模块允许发布每日菜单、管理订单状态(已下单、已准备、已交付),并扫描二维码确认午餐交付。
启动
需要 Node.js 18 或更高版本、Expo CLI 和 Supabase 账户。在 Supabase 编辑器中执行 SQL 脚本以初始化表、枚举类型、函数、视图和 RLS 策略。然后,通过配置 .env 文件安装并启动后端,并使用 Expo 启动移动应用。移动构建和 OTA 更新通过 EAS 完成。
安全与性能
项目在 Supabase 表上启用行级安全,应用 helmet 进行 HTTP 保护、express-rate-limit 和 GZIP 压缩,并包含数据库索引以优化重查询。支持西班牙语和英语的国际化。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。