Synk Calendarは、Google Calendarの内容を表示するためのWebアプリケーションです。
シフトの共有やプライベートイベントの共有など、「無料でカレンダーの表示だけできるようにしたい」というユースケースを想定し、開発されています。
- Google Calendarとの連携
- 月表示、週表示、4日表示、日表示の切り替え
- モバイル/PC対応
- イベントの詳細表示
- リマインダー (Experimental)
- 多言語対応 (i18n)
- TypeScript
- React
- Remix
- Google Calendar API
- FullCalendar
- リポジトリをクローンします:
git clone https://github.com/yamitzky/synk-calendar.git
cd synk-calendar
- 依存関係をインストールします:
pnpm install
- 環境変数を設定します。
.env
ファイルを作成し、必要な変数を設定してください:
# サービスアカウントのファイルパスを指定してください
GOOGLE_APPLICATION_CREDENTIALS=path/to/your/credentials.json
[email protected],id2,id3
# Google Workspace の場合はドメイン全体の委任と委任先のアドレス設定が必要です https://developers.google.com/admin-sdk/directory/v1/guides/delegation
[email protected]
# 以降の環境変数は、リマインダーを使う場合のみ必要です
REMINDER_SETTINGS=[{"minutesBefore":10,"notificationType":"console"},{"minutesBefore":30,"notificationType":"webhook"}]
WEBHOOK_URL=https://your-webhook-url.com
# リマインダーのテンプレート文をカスタマイズしたい場合は設定してください(Eta)
REMINDER_TEMPLATE="Reminder: <%= it.title %> starts in <%= it.minutesBefore %> minutes."
- 開発サーバーを起動します:
pnpm dev
アプリケーションは http://localhost:5173で利用可能になります。
- アプリケーションをビルドします:
pnpm build
- 本番環境でアプリケーションを実行します:
pnpm start
テストを実行するには:
pnpm test
このプロジェクトはMITライセンスの下で公開されています。