Synk Calendar is a web application designed to display Google Calendar contents.
It was developed with use cases in mind such as sharing shifts or personal events, where the goal is to "provide free view-only access to calendar information."
- Integration with Google Calendar
- Switchable views: month, week, 4-day, and day
- Mobile/PC compatibility
- Detailed event display
- Reminders (Experimental)
- Multi-language support (i18n)
- TypeScript
- React
- Remix
- Google Calendar API
- FullCalendar
- Clone the repository:
git clone https://github.com/yamitzky/synk-calendar.git
cd synk-calendar
- Install dependencies:
pnpm install
- Set up environment variables. Create a
.env
file and configure the necessary variables:
# Specify the file path for the service account
GOOGLE_APPLICATION_CREDENTIALS=path/to/your/credentials.json
[email protected],id2,id3
# For Google Workspace, domain-wide delegation and delegated email address are required https://developers.google.com/admin-sdk/directory/v1/guides/delegation
[email protected]
# The following environment variables are only required if you're using reminders
REMINDER_SETTINGS=[{"minutesBefore":10,"notificationType":"console"},{"minutesBefore":30,"notificationType":"webhook"}]
WEBHOOK_URL=https://your-webhook-url.com
# Set this if you want to customize the reminder template text (Eta)
REMINDER_TEMPLATE="Reminder: <%= it.title %> starts in <%= it.minutesBefore %> minutes."
- Start the development server:
pnpm dev
The application will be available at http://localhost:5173.
- Build the application:
pnpm build
- Run the application in a production environment:
pnpm start
To run tests:
pnpm test
This project is released under the MIT License.