calendso - 絶対にすべての人のためのスケジューリング インフラストラクチャ。

(Scheduling infrastructure for absolutely everyone.)

Created at: 2021-03-22 21:47:42
Language: TypeScript
License: MIT

ロゴ

Cal.com(旧カレンソ)

オープンソースのカレンドリーの代替手段。
もっと詳しく知る »

スラック·ウェブサイト·問題点·ロードマップ

スラック Cal.com 参加する 製品ハント アップタイム ギットハブスター ハッカーニュース ライセンス 月あたりのコミット数 プライシング 柔術追跡 チェックリーの可用性

プロジェクトについて

予約画面

絶対にすべての人のためのスケジューリングインフラストラクチャ

オープンソースのカレンダーの代替手段。あなたが担当しています 独自のデータ、ワークフロー、外観の。

カレンダーやその他のスケジューリングツールは素晴らしいです。それは私たちの生活を非常に楽にしました。ビジネスミーティング、セミナー、ヨガクラス、さらには家族との電話にも使用しています。ただし、ほとんどのツールは、制御とカスタマイズの点で非常に制限されています。

そこで Cal.com 出番です。自己ホストまたは当社がホストします。デザインによるホワイトラベル。API 駆動型で、独自のドメインにデプロイする準備ができています。イベントとデータを完全に制御します。

今月の製品: 2021 年 4 月

製品ハントで私たちをサポートしてください

Cal.com - オープンソースのカレンドリー代替|製品ハント Cal.com - オープンソースのカレンドリー代替|製品ハント Cal.com - オープンソースのカレンドリー代替|製品ハント

で構築

最新情報を入手する

Calは9月15日にv.1.0として正式にリリースされましたが、多くの新機能が登場します。このリポジトリのリリースを監視して、将来の更新について通知を受け取ります。

Cal-Star-GitHub

はじめ

ローカルコピーを起動して実行するには、次の簡単な手順に従ってください。

前提 条件

Calを実行するために必要なものは次のとおりです。

  • ノード.js (バージョン: >=15.x <17)
  • PostgreSQL
  • (推奨)

利用可能な統合のいずれかを有効にする場合は、統合ごとに追加の資格情報を取得することをお勧めします。これに関する詳細は、以下の統合セクションにあります。

発達

セットアップ

  1. リポジトリをパブリック GitHub リポジトリ (またはフォークhttps://github.com/calcom/cal.com/fork) に複製します。コードを配布する場合は、AGPLv3に準拠するためにソースコードを公開してください。プライベートリポジトリにクローンを作成するには、商用ライセンスを取得します)

    git clone https://github.com/calcom/cal.com.git
  2. プロジェクトフォルダに移動します

    cd cal.com
  3. yarn でパッケージをインストールする

    yarn
  4. .env ファイルを設定する

    • 複製
      .env.example
      .env
    • 使用するキーを生成し、.envファイルの下に追加します。
      openssl rand -base64 32
      NEXTAUTH_SECRET
    • 使用するキーを生成し、.envファイルの下に追加します。
      openssl rand -base64 24
      CALENDSO_ENCRYPTION_KEY

クイックスタート
yarn dx

  • Docker と Docker Compose がインストールされている必要があります
  • 数人のテストユーザーでローカルPostgresインスタンスを起動します-資格情報はコンソールに記録されます
yarn dx

開発のヒント

追加あなたのどこでもtrpcによって駆動されるすべてのクエリとミューテーションのログ情報を取得します。

NEXT_PUBLIC_DEBUG=1
.env

echo 'NEXT_PUBLIC_DEBUG=1' >> .env

手動セットアップ

  1. ファイルで環境変数を構成します。置換,,,適用可能な値で

    .env
    <user>
    <pass>
    <db-host>
    <db-port>

    DATABASE_URL='postgresql://<user>:<pass>@<db-host>:<db-port>'
    
    DATABASE_URLの設定方法がわからない場合は、こちらの手順に従って、Heroku を使用してクイック DB を作成してください。
    1. Heroku で無料アカウントを作成します。

    2. 新しいアプリを作成します。アプリの作成

    3. 新しいアプリで、に移動します横をクリックしてクリックします。データベースを設定するには、これが必要です。

      Overview
      Installed add-ons
      Configure Add-ons
      画像

    4. クリックしたら、をクリックします検索します。オプションの1つは、そのオプションをクリックすることです。

      Configure Add-ons
      Find more add-ons
      postgres
      Heroku Postgres
      画像

    5. ポップアップが表示されたら、クリックプラン名が表示されます。

      Submit Order Form
      Hobby Dev - Free
      注文フォームの送信

    6. 上記の手順を完了したら、新しく作成したものをクリックしますそしてそれに行きます。

      Heroku Postgres
      Settings
      画像

    7. で、URIを Cal.com.envファイルにコピーし、それを置き換えます。

      Settings
      postgresql://<user>:<pass>@<db-host>:<db-port>
      画像 画像

    8. DB を表示するには、Prisma に新しいデータを追加したら、Heroku データエクスプローラーを使用できます。

  2. .envファイルに32文字のランダムな文字列を設定します(次のようなコマンドを使用できます生成します)。

    CALENDSO_ENCRYPTION_KEY
    openssl rand -base64 24

  3. Prisma スキーマを使用してデータベースを設定します (

    packages/prisma/schema.prisma
    )

    yarn workspace @calcom/prisma db-deploy
  4. 実行 (開発モード)

    yarn dev

最初のユーザーを設定する

  1. Prisma Studioを開いて、データベースの内容を確認または変更します。

    yarn db-studio
  2. クリックしてくださいモデル新しいユーザーレコードを追加します。

    User

  3. フィールドに入力し,,,に設定します空にする(BCryptでパスワードを暗号化することを忘れないでください)をクリックします最初のユーザーを作成します。

    email
    username
    password
    metadata
    {}
    Save 1 Record

    新しいユーザーはデフォルトでプランに設定されます。この動作は、ファイル内のニーズに合わせて調整できます。

    TRIAL
    packages/prisma/schema.prisma

  4. ブラウザを開いてhttp://localhost:3000し、作成した最初のユーザーでログインします。

E2E-テスト

環境変数を正しい値に設定してください。ローカルで実行している場合、ドキュメントに記載されているように、値は次のようにする必要があります。

NEXTAUTH_URL
.env.example
http://localhost:3000

# In a terminal just run:
yarn test-e2e

# To open last HTML report run:
yarn playwright show-report test-results/reports/playwright-html-report

以前のバージョンからのアップグレード

  1. 現在のバージョンをプルします。

    git pull
  2. 依存関係が追加/更新/削除されたかどうかを確認します

    yarn
  3. データベースの移行を適用するには、次のいずれかのコマンドを実行します

    開発環境では、次のコマンドを実行します。

    yarn workspace @calcom/prisma db-migrate

    (これにより、場合によっては開発データベースをクリアできます)

    運用環境では、次のコマンドを実行します。

    yarn workspace @calcom/prisma db-deploy
  4. 変数の変更を確認する

    .env

    yarn predev
  5. サーバーを起動します。開発環境では、次のようにします。

    yarn dev

    運用ビルドの場合は、次のように実行します。

    yarn build
    yarn start
  6. 新しいバージョンをお楽しみください。

配備

港湾労働者

Cal の Docker 構成は、コミュニティ内の人々によって強化された取り組みです。

Dockerリポジトリに貢献する場合は、ここに返信してください

Docker の構成は、Docker リポジトリにあります

ドッカーの問題?あなたの答えを見つけるか、ここで新しいディスカッションを開いてコミュニティに尋ねてください。

Cal.com, Inc. は Docker の公式サポートを提供していませんが、修正とドキュメントは受け付けます。自己責任で使用してください。

ヘロク

展開

鉄道

鉄道への展開

上のボタンを使用して、Calを鉄道に展開できます。Railwayのチームは、プラットフォームへのCalの展開に関する詳細なブログ投稿も持っています。

ヴェルセル

現在、Vercel Pro プランは、無料プランのサーバーレス機能の数に制限があるため、Vercel でこのアプリケーションをデプロイできるようにする必要があります。

Vercel を使用したデプロイ

ロードマップ

Cal.com ロードマップ

提案された機能 (および既知の問題) の一覧については、ロードマップ プロジェクトを参照してください。ビューを変更して、計画されたタグ付きリリースを表示できます。

貢献

寄稿ガイドをご覧ください。

良い最初の問題

比較的限られた範囲を持つ小さな機能やバグを含む、必要なヘルプのリストがあります。これは、開始し、経験を積み、貢献プロセスに慣れるのに最適な場所です。

統合

Google API の認証情報を取得する

  1. Google API Console を開きます。Google Cloud サブスクリプションにプロジェクトがない場合は、先に進む前にプロジェクトを作成する必要があります。[ダッシュボード ウィンドウ] で、 [API とサービスを有効にする] を選択します。
  2. 検索ボックスに「カレンダー」と入力し、Google カレンダー API の検索結果を選択します。
  3. 選択した API を有効にします。
  4. 次に、サイド ウィンドウからOAuth 同意画面に移動します。アプリの種類 (内部または外部) を選択し、最初のページに基本的なアプリの詳細を入力します。
  5. [スコープ] の 2 番目のページで、[スコープの追加または削除] を選択します。Calendar.event を検索し、スコープ値を持つスコープを選択し、[更新] を選択します。
    .../auth/calendar.events
    .../auth/calendar.readonly
  6. 3 ページ目(テスト ユーザー)で、使用する Google アカウントを追加します。ウィザードの最後のページで詳細が正しいことを確認し、同意画面を構成します。
  7. 次に、サイド ペインから[資格情報] を選択し、[資格情報の作成] を選択します。[OAuth クライアント ID] オプションを選択します。
  8. [アプリケーションの種類] として [Web アプリケーション] を選択します。
  9. [承認されたリダイレクト URI] で [URI の追加] を選択し、URI を追加し、Cal.com URL をアプリケーションを実行する URI に置き換えます。
    <Cal.com URL>/api/integrations/googlecalendar/callback
    <Cal.com URL>/api/auth/callback/google
  10. キーが作成され、[資格情報] ページにリダイレクトされます。[OAuth 2.0 クライアント ID] で新しく生成されたクライアント ID を選択します。
  11. [JSON のダウンロード] を選択します。このファイルの内容をコピーし、JSON 文字列全体を .env ファイルに GOOGLE_API_CREDENTIALS キーの値として貼り付けます。

Cal.com アプリストアにグーグルカレンダーを追加する

Googleクレデンシャルを追加した後、Googleカレンダーアプリをアプリストアに表示できるようになりました。 アプリストアを再設定するには、次のコマンドを実行します。

cd packages/prisma
yarn seed-app-store

Googleカレンダーアプリを有効にするには、さらにいくつかの手順を完了する必要があります。 「Google API 認証情報の取得」セクションを必ず完了してください。その後、 次

  1. リダイレクト URL を追加する
    <Cal.com URL>/api/auth/callback/google
  2. [OAuth コンセント画面] で [アプリを公開] をクリックします。

Microsoft Graph クライアント ID とシークレットの取得

  1. Open Azure App Registration and select New registration
  2. Name your application
  3. Set Who can use this application or access this API? to Accounts in any organizational directory (Any Azure AD directory - Multitenant)
  4. Set the Web redirect URI to replacing Cal.com URL with the URI at which your application runs.
    <Cal.com URL>/api/integrations/office365calendar/callback
  5. Use Application (client) ID as the MS_GRAPH_CLIENT_ID attribute value in .env
  6. Click Certificates & secrets create a new client secret and use the value as the MS_GRAPH_CLIENT_SECRET attribute

Obtaining Zoom Client ID and Secret

  1. Open Zoom Marketplace and sign in with your Zoom account.
  2. On the upper right, click "Develop" => "Build App".
  3. On "OAuth", select "Create".
  4. Name your App.
  5. Choose "User-managed app" as the app type.
  6. De-select the option to publish the app on the Zoom App Marketplace.
  7. Click "Create".
  8. Now copy the Client ID and Client Secret to your .env file into the and fields.
    ZOOM_CLIENT_ID
    ZOOM_CLIENT_SECRET
  9. Set the Redirect URL for OAuth replacing Cal.com URL with the URI at which your application runs.
    <Cal.com URL>/api/integrations/zoomvideo/callback
  10. Also add the redirect URL given above as a allow list URL and enable "Subdomain check". Make sure, it says "saved" below the form.
  11. You don't need to provide basic information about your app. Instead click at "Scopes" and then at "+ Add Scopes". On the left, click the category "Meeting" and check the scope .
    meeting:write
  12. Click "Done".
  13. You're good to go. Now you can easily add your Zoom integration in the Cal.com settings.

Obtaining Daily API Credentials

  1. Open Daily and sign into your account.
  2. From within your dashboard, go to the developers tab.
  3. Copy your API key.
  4. Now paste the API key to your .env file into the field in your .env file.
    DAILY_API_KEY
  5. If you have the Daily Scale Plan set the variable to in order to use features like video recording.
    DAILY_SCALE_PLAN
    true

Obtaining HubSpot Client ID and Secret

  1. Open HubSpot Developer and sign into your account, or create a new one.
  2. From within the home of the Developer account page, go to "Manage apps".
  3. Click "Create app" button top right.
  4. Fill in any information you want in the "App info" tab
  5. Go to tab "Auth"
  6. Now copy the Client ID and Client Secret to your .env file into the and fields.
    HUBSPOT_CLIENT_ID
    HUBSPOT_CLIENT_SECRET
  7. Set the Redirect URL for OAuth replacing Cal.com URL with the URI at which your application runs.
    <Cal.com URL>/api/integrations/hubspot/callback
  8. In the "Scopes" section at the bottom of the page, make sure you select "Read" and "Write" for scope called
    crm.objects.contacts
  9. Click the "Save" button at the bottom footer.
  10. You're good to go. Now you can see any booking in Cal.com created as a meeting in HubSpot for your contacts.

Obtaining Vital API Keys

  1. Open Vital and click Get API Keys.
  2. Create a team with the team name you desire
  3. Head to the configuration section on the sidebar of the dashboard
  4. Click on API keys and you'll find your sandbox .
    api_key
  5. Copy your to in the .env.appStore file.
    api_key
    VITAL_API_KEY
  6. Open Vital Webhooks and add as webhook for connected applications.
    <CALCOM BASE URL>/api/integrations/vital/webhook
  7. Select all events for the webhook you interested, e.g.
    sleep_created
  8. Copy the webhook secret () to in the .env.appStore file.
    sec...
    VITAL_WEBHOOK_SECRET

Workflows

Setting up SendGrid for Email reminders

  1. Create a SendGrid account (https://signup.sendgrid.com/)
  2. Go to Settings -> API keys and create an API key
  3. Copy API key to your .env file into the SENDGRID_API_KEY field
  4. Go to Settings -> Sender Authentication and verify a single sender
  5. Copy the verified E-Mail to your .env file into the SENDGRID_EMAIL field

Setting up Twilio for SMS reminders

  1. Create a Twilio account (https://www.twilio.com/try-twilio)
  2. Click ‘Get a Twilio phone number’
  3. Copy Account SID to your .env file into the TWILIO_SID field
  4. Copy Auth Token to your .env file into the TWILIO_TOKEN field
  5. Create a messaging service (Develop -> Messaging -> Services)
  6. メッセージング サービスの名前を選択します。
  7. [送信者の追加]をクリックします
  8. 送信者の種類として電話番号を選択する
  9. リストされている電話番号を追加する
  10. 他のすべてのフィールドはそのままにしておきます
  11. セットアップを完了し、[新しいメッセージングサービスを表示]をクリックします
  12. メッセージング サービス SID を .env ファイルの TWILIO_MESSAGING_SID フィールドにコピーします。

ライセンス

AGPLv3ライセンスの下で配布されています。詳細については、「」を参照してください。

LICENSE

確認

Cal.com 力を助けるこれらの素晴らしいプロジェクトに感謝します:

Jitsu.com

Cal.com はオープンスタートアップであり、Jitsu(オープンソースのセグメントの代替手段)は、ほとんどの使用状況メトリックを追跡するのに役立ちます。