技术选型确定后,我开始构思系统的整体架构。
一、架构设计原则
- 模块化设计:每个功能模块独立开发,互不干扰
- 统一认证:所有模块共享同一套用户认证体系
- 权限控制:区分管理员和普通用户,管理员拥有全部权限
- 数据隔离:每个模块的数据独立存储,通过外键关联
二、模块规划
整个OA系统分为以下几个核心模块:
- 用户认证模块:登录/注册、会话管理、权限验证
- 组织架构模块:部门管理(树状结构)、员工档案、职位职级管理
- 考勤打卡模块:每日签到签退、考勤统计、迟到早退标记
- 请假管理模块:多种请假类型、自动计算天数、审批流程
- 费用报销模块:报销单提交、审批通过/驳回、报销记录查询
- 资产管理模块:资产录入、分类筛选、报废管理、资产总值统计
- 加班管理模块:加班起止时间记录、自动计算加班时长
- 通知公告模块:公告发布、置顶功能、全员可见
- 工作日志模块:按日期记录、日期筛选查看
三、数据库设计
每个模块对应一个或多个数据表,通过用户ID进行关联。SQLite的轻量特性使得我们可以快速创建和修改表结构。
四、前端设计
前端采用侧边栏导航布局,左侧为功能菜单,右侧为内容区域。这种布局在企业级应用中非常常见,用户上手成本低。
整个系统的构思阶段大约花了两天时间,画了不少草图,反复推敲每个模块的功能边界和数据流转。