Skip to content

This unofficial Todoist browser extension allows its user to add its current web site's URL as a new Task in his Todoist Inbox, just by clicking on a single button.

License

Notifications You must be signed in to change notification settings

thuguerre/WebSiteQuickAddingForTodoist

Repository files navigation

PROJECT UNDER DEVELOPMENT
NOT EVEN IN AN ALPHA VERSION NOW :)


Project Description

This unofficial Todoist browser extension allows its user to add its current web site's URL as a new Task in his Todoist Inbox, just by clicking on a single button. It completes the official Todoist browser extension, allowing the same use case but with a 4-clicks process from the browser header, or a 2-clicks process using right-click menu on page.

For the moment, this project will only provide this single and quite simple functionnality.

Disclaimer: initially, this project used a Java API to proxy Todoist services, using Google Cloud AppEngine. However, it is currently switching to a Python version of it, using Google Cloud Functions. All documentation is migrating too, and explains for the moment both versions. Until Python version is fully fuctional and linked to the Browser Extension (not the case for now), Java API will be used and Java documentation is the right one.

For developers and/or contributors

How to contribute ?

This extension project is now under developement. Contributions are still difficult for the moment. However, you will be able to contribute soon !

  • By translating texts other than in English and French,
  • By reporting issues, and even fixing them :)

How both API and Browser Extension work ?

Basically, the extension has the following process, fired when the user clicks on the extension button :

  1. Call the API to retrieve Todoist Client ID required in following process
  2. Try to access the Todoist Access Token stored in Browser Storage
  3. If no Access Token is found, launch Todoist Authorization Flow:
    • Prompt the Todoist Authentication Form, using Browser Identity API,
    • Get a valid OAuth Code, once user has authenticated
    • Call our Todoist Proxy API to transform this OAuth Code in a valid Access Token.
    • Store the Access Token in Browser Storage, for a future reuse
  4. Launch the Task Add Flow:
    • Get active tab, to retrieve its URL
    • Call Todoist Rest API to add the task
    • If task add is a success, confirm the user the task has been added, using Browser Notification API
    • If task add has failed due to Authorization reasons, revoke the Access Token and go to Step 3

How to set up the project locally ?

See Project Local Set Up Documentation.

Resources

Todoist

Browser Extension

GCP AppEngine (for Java version of the API)

GCP Cloud Functions (for Python version of the API)

API Client

About

This unofficial Todoist browser extension allows its user to add its current web site's URL as a new Task in his Todoist Inbox, just by clicking on a single button.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published