This is a skeleton project for a Readability webapp using the Django framework. It is quite basic and leaves a lot left to do.
Thank you to the many people who put useful snippets of Django/OAuth code online. I will soon try to put some links in here to the snippets and blog posts that helped the most.
The app works like this:
- User goes to example.com/login and is taken to Readability's site to authorize or deny the webapp's access.
- After the webapp has been authorized, the user is sent to the callback URL where an account for that user is created in the database.
- A user profile is also created for the user, and the JSON for the last five bookmarks is inserted into "bookmarks" column of the profile.
- The user is redirected to example.com/profile/username and the JSON for the last five bookmarks is displayed.
- The user's last five bookmarks should now always be visible at example.com/profile/username
To get the app running, one must:
- Update the callback URL, secret, and key in readability.py
- Update database config in settings.py
- Update static media config in settings.py
- Create other views (such as the index view)
Other notes:
- You probably would not want the fetching of Readability data to be a blocking call as is shown in this app. Instead, you might use an asynchronous task queue like Celery (http://ask.github.com/celery/getting-started/introduction.html).
- You'll likely also want to implement some access control mechanisms so users can keep their profiles private.