Sked
Sked lets you solve the problem of "I have all these calendars and I want to share (some) of them with other people". It lets you take any combination of Google calendars and arbitrary other iCalendar feeds and make new feeds that you can then share with people. You can also only share the "I'm busy" data from a calendar, instead of it's full data if you want.
Once you've given someone one of these new feeds, you can always update their permissions afterwards - this means if you add new calendars, you don't need to tell anyone else. Also, if you gave someone too much/too little access, you can fix that.
Quick start
Most users should just be using the online version
Local development
- Install Docker and Docker Compose
- Make a new Google OAuth 2 web app. Javascript origin should be
http://localhost:8000
and Authorised redirect URIs should behttp://localhost:8000/oauth2callback
. - Enable "Google Calendar API" and "Google+ API" on the developer console
- Copy
sked/settings_private_example.py
tosked/settings_private.py
and add your new OAuth secret/ID - Run
docker-compose up --build
- Goto http://localhost:8000
Docker-less local builds
The Docker build is the best option, but here's how to do it without
- Export needed environment variables
export DATABASE_URL=sqlite:///sked.db
export OAUTHLIB_INSECURE_TRANSPORT=1
- Do steps 2-4 of "Local development" to setup Google auth
python manage.py migrate
python manage.py runserver 0.0.0.0:8000
- Goto http://localhost:8000