← 回到首页
TeamMate
访问项目

技术栈

Kotlin/JS Firebase Firestore Gradle Playwright Vercel

TeamMate

TeamMate 是一个全面的基于 Web 的考勤和班次管理系统,专为团队和组织设计。该应用程序提供实时团队协作、班次调度、考勤跟踪、加班管理和请假 - 所有功能都在一个现代化、响应式的界面中。

问题陈述:

手动管理团队考勤、班次和时间表既耗时又容易出错。组织需要一个集中式系统来跟踪员工考勤、管理复杂的班次时间表、高效处理加班和请假,并提供基于角色的访问控制。

主要特点:

  • 身份验证和用户管理: 使用 Firebase 的 Google 登录、自动创建用户配置文件、会话持久性和基于角色的访问控制(所有者、管理员、成员)。
  • 团队管理: 创建和管理多个团队、团队头像、归档/取消归档团队,以及基于 URL 的团队路由(使用 slug)。
  • 成员管理: 通过电子邮件邀请添加成员、编辑角色、批量操作、导入/导出(CSV、Excel、PDF)以及过滤/排序功能。
  • 班次模板管理: 创建带有颜色编码的自定义班次模板、定义班次时间并将班次分配给团队成员。
  • 时间表管理: 月度日历网格视图(类似 Excel 的界面)、拖放班次分配、实时更新以及导出到 Excel/PDF。
  • 考勤跟踪: 打卡上下班功能、人脸检测集成(UI 已准备好)、考勤历史、迟到/早退跟踪和假期管理。
  • 加班和请假: 请求和批准加班/请假,带有状态跟踪、多个请假类别和余额跟踪。

技术栈:

  • 前端: Kotlin/JS、kotlinx-html DSL、Kotlin Wrappers、Vanilla CSS
  • 后端: Firebase Authentication、Cloud Firestore、Firebase Storage
  • 构建工具: Gradle (Kotlin DSL)、Webpack
  • 测试: Playwright 用于端到端测试
  • 部署: Vercel

架构:

该项目遵循清晰的基于功能的架构,采用领域驱动设计(DDD)、仓储模式、集中式状态管理和缓存策略,可减少约 80% 的 Firestore 读取。

性能和安全性:

  • 具有基于角色权限的全面 Firestore 安全规则
  • 带有 TTL 的内存缓存(默认 5 分钟)
  • 使用 Webpack tree-shaking 优化包大小
  • 在 3G 连接上初始加载 < 2 秒
Logo Adib

© 2026 Adib

GitHub