Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jonhoo/ucltt-ics
iCalendar interface to UCL's web-based timetable
https://github.com/jonhoo/ucltt-ics
Last synced: about 1 month ago
JSON representation
iCalendar interface to UCL's web-based timetable
- Host: GitHub
- URL: https://github.com/jonhoo/ucltt-ics
- Owner: jonhoo
- Created: 2013-01-14T21:40:36.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2013-01-15T00:02:45.000Z (almost 12 years ago)
- Last Synced: 2023-03-10T22:23:55.552Z (over 1 year ago)
- Language: JavaScript
- Size: 137 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# About #
ucltt-ics is a HTTP-based iCalendar interface for the timetable system used at
UCL so that it can be synced to "normal" calendar software. It is fairly crude,
but seems to work mostly the way it should. Username and password is set in
config or passed through HTTP basic authentication.# Details #
If a username is set in the config, HTTP basic auth is completely disabled.If you want to use this with Google Calendar which doesn't support HTTP Basic
Auth, you should just set a fixed username and password in the config.Note that this server runs over HTTP, which means passwords are transmitted in
cleartext if you use basic auth. Just something to bear in mind.# Running standalone #
To run:export UCL_USERNAME=...
export UCL_PASSWORD=...
npm startYou will then be able to access the iCalendar at http://yourdomain.com:54321/ and
can put that URL straight into your calendaring application to have it synced.
Beware that since this is doing web scraping, you might not want to scrape it
too often.# Heroku #
The app is built so it can be run off Heroku. If you don't know what that is or
how to do it, you can either follow the [Heroku
guide](https://api.heroku.com/signup/devcenter) or follow these quick steps:1. [Sign up](https://api.heroku.com/signup/devcenter)
2. ```heroku login```
3. ```heroku create ```
4. ```git push heroku master```
5. ```heroku ps:scale web=1```
6. ```heroku config:add UCL_USERNAME=```
7. ```heroku config:add UCL_PASSWORD=```
8. ```heroku open```Enjoy free hosting of the app.
# Why? #
Well, I was annoyed at having to log in to the UCL Timetable portal all the
time, so I figured I'd do something about it. Had I taken the time to actually
look around for a bit, I would have noticed that there was already a WebCal
subscription URL built in, but I didn't see that until I'd finished. At least I
got the experience of getting to play with Node and Heroku.