开源日历 Cal.com 项目:自定义你的时间管理(Github项目分享)

c00901585a000c18bdf43a06f7263ce9.jpeg

如果你是日常使用Calendly等时间安排工具的人,那么你一定知道这些工具确实方便了我们的生活,不管是商务会议、瑜伽课程还是家庭通话。然而,这些工具在控制和自定义方面往往有所局限。这时候,Cal.com应运而生。

什么是Cal.com?

bb2d08affa3a45a7be471ec530161072.png

Cal.com是一个开源的时间安排工具,被誉为Calendly的继任者。它最大的特点就是完全开源,你可以完全掌控自己的数据、工作流程和外观设计。不管是自托管还是使用官方提供的托管服务,Cal.com都能满足你的需求,并且支持白标和自定义域名。通过API驱动,你可以轻松将其部署到自己的域名上,实现对事件和数据的全面控制。

c562865106dba6697b43c4d1d5111da0.gif

https://github.com/calcom/cal.com

技术栈

Cal.com的开发使用了以下技术:

  • Next.js:一个基于React的服务端渲染框架。

  • tRPC:一个用于构建类型安全API的框架。

  • React.js:一个用于构建用户界面的JavaScript库。

  • Tailwind CSS:一个实用性优先的CSS框架。

  • Prisma.io:一个现代化的ORM工具。

  • Daily.co:一个视频通话API。

快速上手

想要在本地运行Cal.com,只需按照以下步骤操作:

  1. 前置条件

  • Node.js (版本 >= 18.x)

  • PostgreSQL (版本 >= 13.x)

  • Yarn(推荐)

克隆代码库

git clone https://github.com/calcom/cal.com.git
cd cal.com

安装依赖

yarn

设置环境变量:将.env.example文件复制一份并重命名为.env,然后使用如下命令生成密钥并添加到.env文件中:

openssl rand -base64 32

设置Node版本:如果你的Node版本不满足项目要求,可以使用nvm(Node版本管理器)安装和切换到所需版本:

nvm install
nvm use

启动开发环境

yarn dev

相关提示

.env文件中添加以下内容以启用调试日志:

NEXT_PUBLIC_DEBUG=1

配置数据库

你可以选择在本地创建PostgreSQL数据库或者使用Railway、Render等服务来托管数据库。配置好数据库后,在开发环境中运行以下命令以设置数据库:

yarn workspace @calcom/prisma db-migrate

创建用户

可以通过Prisma Studio手动添加用户,或者运行以下命令来填充测试用户数据:

yarn db-seed

结语

作为一个开源项目,Cal.com不仅提供了强大的功能,还允许你完全掌控自己的数据和工作流程。如果你对时间安排工具有更多的自定义需求,不妨试试Cal.com,享受开源带来的自由与便利。

欢迎大家在评论区分享你们的使用体验和心得!

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 04:52:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 04:52:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 04:52:04       58 阅读
  4. Python语言-面向对象

    2024-07-19 04:52:04       69 阅读

热门阅读

  1. git-常用基础指令

    2024-07-19 04:52:04       18 阅读
  2. unity C#执行bat文件

    2024-07-19 04:52:04       19 阅读
  3. C语言 分割链表

    2024-07-19 04:52:04       20 阅读
  4. 如何使用Python实现一个简单的Web服务器

    2024-07-19 04:52:04       17 阅读
  5. 微服务重启优化kafka+EurekaNotificationServerListUpdater

    2024-07-19 04:52:04       21 阅读
  6. 降低芯片流片风险的几种方法

    2024-07-19 04:52:04       23 阅读
  7. MySQL 架构中的三层服务是什么?

    2024-07-19 04:52:04       20 阅读
  8. C语言——函数指针

    2024-07-19 04:52:04       18 阅读
  9. 玩转springboot之springboot启动原理

    2024-07-19 04:52:04       21 阅读