https://github.com/httnn/google-calendar-client
Pure-frontend client for Google Calendar with customisable calendars.
https://github.com/httnn/google-calendar-client
Last synced: 9 months ago
JSON representation
Pure-frontend client for Google Calendar with customisable calendars.
- Host: GitHub
- URL: https://github.com/httnn/google-calendar-client
- Owner: httnn
- License: mit
- Created: 2018-06-23T09:50:29.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2021-10-22T07:16:18.000Z (over 4 years ago)
- Last Synced: 2024-04-24T04:53:21.748Z (about 2 years ago)
- Language: TypeScript
- Size: 80.1 KB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Google Calendar Client
Pure-frontend client for Google Calendar with customisable calendars.

## Features
- Define calendars that are displayed, with custom colors
- Deeply nested calendar groups
- Create, edit and delete events
- Toggle visibility of calendars (persisted locally)
## Get it running
1. Acquire a Google client ID and API key as described here: https://developers.google.com/calendar/quickstart/js
2. Define acquired keys in environment as `GOOGLE_CLIENT_ID` and `GOOGLE_API_KEY`. `.env` file is supported.
3. Create a file at the root level called `config.json`. The type of the contents should be like [this](https://github.com/bodyflex/google-calendar-client/blob/master/src/types.ts#L36-L39). `config.sample.json` serves as a starting point.
4. Run `yarn install` and `yarn start`.
## How grouping works
Groups are formed automatically from calendar names with respect to the `groupDelimiter` string defined in config. Groups can be nested without a limit on group depth, although the UI might become a bit cluttered at some point.
## TODO
- [x] more configuration options (branding)
- [x] calendar groups
- [x] optional routing via URL
- [ ] optimise fetching events when toggling calendars without changing the view
- [ ] tests
- [ ] mobile-friendlier layout
- [ ] search for events