该系统旨在为在家教育提供一个高效、方便、安全且完全可控的解决方案,以辅助孩子,学长以及家长们在学习中贯彻我们的基督化教育原理。同时也为监督者以及长者提供完整的权限审查和设置。系统设计注重以下核心功能:
-
严格的权限划分:
不同用户角色(如学生、家长、学长、据点负责人等等)享有明确的权限范围,确保学习活动在清晰的规则下且不受干扰地进行。
-
完整的权限控制与规则:
包括权限任命机制,账号注册,群组创建等等。
-
效率:
尽可能简化每日报告,年表,课表等等的安排效率。
-
分布式系统:
数据在云端以及各据点分布放置,一方面提高据点数据操作的容错,一方面可以提高数据的安全性。
-
安全性:
所有的网络访问都将进行加密,且在数据库的设计上也体现这一点。另外,服务器(据点或云服务器)都将定时备份数据。
-
Apple 的多平台支持:
支持 macOS, iOS, ipadOS。
- 分布系统
- 据点内数据请求无需请求服务器,降低请求频次,也提高了访问速度。
- 跨据点数据请求使用 P2P 技术,去中心化以降低延时。
- 统一的身份验证机制
-
门户网站
- 公开网站,展示公开信息,例如联系方式、培训计划、介绍 等等。
-
服务分发:
- 通过多个 网络服务 分布式部署,实现模块化设计。
-
远程存储与访问控制:
- 支持多设备数据同步。
- 高效数据处理:
- 使用本地据点服务器处理高频、低延迟的请求。
- 与云端同步和备份数据,保证一致与安全性。
- 内部服务支持:
- 提供局域网内的快速服务(如 TCP 传输和任务分发)。
- 云服务器环境:
- Ubuntu 24.04.1+
- 4 vCPUs+
- 8G RAM+
- root 权限
- 据点服务器
- MacOS 或 Linux
- 2 vCPUs+
- 4G RAM+
- root 权限
- 开发工具:
- API 服务:Node.js 16+
- 客户端开发:Swift 5+ / Objective-C (不推荐)
- 数据库:PostgreSQL16+, SQLite 3+
- 反向代理:Nginx 1.24+
- 网站开发:Nuxt, Vue, Express, Vapor
- 克隆项目到本地:
cd <你的项目文件夹> git clone https://github.com/SJJC-Team/Whooshing.git cd Whoothing
见 代码提交约定
本项目采用 Mozilla Public License Version 2.0 开源。