Welcome to EchoCal - an open source CLI application which fetches data from Google Calendar events and provides real-time audible alerts to the user shortly before they begin. Designed for accessibility, the app runs in the background ensuring users do not miss notifications when away from the screen.
- Reads calendar event name and description 5 minutes prior to event
- Avoids repeating the same event more than once
- Checks for new events every 30 seconds
- If an event time is changed, it identifies this as new event to be read
- Incorporation of a webhook to optimise event fetching
- Support for mid-event reminders
- Options to change type of voice
-
git clonethis repo -
npm install -
Obtain credentials:
- Visit
https://console.cloud.google.com/home> log in to google account - Create new project
- APIs & Services > credentials > create credentials > OAuth client ID > configure consent screen
- User type: external > create
- Input app name, input your email as user support email and developer email > save & continue
- Add the below scopes before clicking save and continue:
.../auth/calendar.calendarlist.readonly
.../auth/calendar.events.public.readonly
.../auth/calendar.readonly
.../auth/calendar.calendars.readonly
.../auth/calendar.events.owned.readonly
.../auth/calendar.events.readonly
- Visit
-
Add users > Add your email as a test user > add > save and continue > back to dashboard
-
Go back to credentials > create credentials > OAuth client ID
-
Select web application as application type
-
Add authorized redirect URI as
http://127.0.0.1:3000/callback> create -
Copy the client secret and client ID and add to a
.envfile in the same directory as the cloned repo formatted like below:
GOOGLE_CLIENT_ID = <insert id>
GOOGLE_CLIENT_SECRET = <insert secret> -
cd EchoCal -
npx tsx main.tsto run -
Ctrl+Cto stop
- TypeScript
- JavaScript (Node.js)
- Google APIs
