Skip to content

yordisc/Todo-Recall

Repository files navigation

ToDo Recall

Main

Video Demo: Click here

Brief Description

ToDo Recall is an extension for managing tasks and reminders directly in the browser. It allows you to organize notes, set alarms, and perform automated actions on browser tabs.

Menu

Installation

Google Chrome

installchrome

  1. Open Chrome.
  2. In the address bar, type chrome://extensions/ and press Enter.
  3. Enable Developer mode in the top right corner.
  4. Click on Load unpacked.
  5. Select the extension folder and click OK.
  6. The extension will load and appear in the list of extensions.

Microsoft Edge

installedge

  1. Open Edge.
  2. In the address bar, type edge://extensions/ and press Enter.
  3. Enable Developer mode in the bottom left corner.
  4. Click on Load unpacked.
  5. Select the extension folder and click OK.
  6. The extension will load and appear in the list of extensions.

Mozilla Firefox

installfirefox1

  1. Inside the extension folder, open the manifest folder, then the firefox folder, and replace the manifest.json file in the main folder with the one from the firefox folder.
  2. Open Firefox.
  3. In the address bar, type about:debugging and press Enter.
  4. Select This Firefox in the left sidebar menu.
  5. Click on Load Temporary Add-on.
  6. Select the manifest.json file inside the extension folder and click Open.
  7. The extension will load temporarily. It will be uninstalled when you close Firefox.

installfirefox2

Also, with the Developer Edition and Nightly versions of Firefox, you can use unsigned add-ons if you change the xpinstall.signatures.required preference to false in Firefox's configuration editor about:config.

Usage

Once the extension is installed, you can access task management and reminder functionalities from the extension icon in your browser.

Features

  1. Task-note creation: Add tasks by pressing the "+" button. You can create a new note by assigning a title and a description to save your note in the application.

createtask

password

  1. Alarm assignment: You can assign alarms to your saved notes by adding a timer and setting a date. If you want to set an alarm, you can select "Single Timer" for a specific date, while to set an alarm that will sound all day, you have to select "Daily Timer" and set the time at which this alarm will sound each day.

Active alarms will be those in the main menu; any task with an alarm that is archived or in the trash will not activate its alarm.

daily specific

  1. Tab actions: Automate opening and closing specific tabs based on your reminders. You can add actions to your alarms, which can be opening or closing a tab containing a specific link. You can also close all tabs with a specific link by adding a "*" at the end of the link, or simply close all tabs by not assigning a URL to the task but activating the close tab option in the task.

open close

  1. Automatic task deletion: Tasks can be automatically deleted after their alarm is activated. You can assign your task the ability to delete itself once its assigned alarm is activated by selecting the "Self-destruct" option.

delete

  1. Pomodoro: Use the Pomodoro timer for effective work cycles. You can program your task as a pomodoro by selecting the "pomodoro" option in your task once you have already selected the "Daily Timer" alarm type. By doing this, instead of assigning a date, you will assign a number that will be the number of minutes in which the alarm will continuously activate.

pomodoro

  1. User management: Multiple users can save their own notes and alarms.

user

  1. Import and export: Manage your tasks using CSV files.

Import

import

Export

export

  1. Full-size view: Expand the extension view to full screen for better visualization by pressing the title of the main menu, which will open the To-Do in a larger tab for easier data viewing.

maximize

  1. Multilingual: Available in 7 languages (English, , Spanish, German, Portuguese, Chinese, Hindi, and Russian).

multilanguage

  1. Security: In addition to the appropriate validations to correctly save data, it has passwords for users and tasks to maintain privacy in the tasks you have or to save different workspaces to organize specific tasks for each moment. All information is saved on the computer offline, but the data is protected by encrypting it so that only encrypted data is saved, which can only be read by the extension itself.

Uninstallation

Google Chrome

uninstallchrome

  1. Open Chrome and go to chrome://extensions/.
  2. Locate the extension and click Remove.
  3. Confirm the action in the popup window.

Microsoft Edge

uninstalledge

  1. Open Edge and go to edge://extensions/.
  2. Locate the extension and click Remove.
  3. Confirm the action in the popup window.

Mozilla Firefox

uninstallfirefox

  1. Open Firefox and go to about:addons.
  2. In the list of extensions, find the one you want to uninstall and click Remove.

Extension folder structure

/TO-DO-RECALL
├── /css
│   ├── /styles
│   │   └── buttons.css
│   │   └── color.css
│   │   └── dropdown.css
│   │   └── forms.css
│   │   └── global.css
│   │   └── lists.css
│   │   └── media-queries.css
│   │   └── utilies.css
│   │   └── view.css
│   └── styles.css
├── /js
│   ├── /controller
│   │   ├── /crud
│   │   │   └── crudtask.js
│   │   │   └── cruduser.js
│   │   ├── /validate
│   │   │   └── validatetask.js
│   │   │   └── validateuser.js
│   │   └── autobookmark.js
│   │   └── color.js
│   │   └── csv.js
│   │   └── display.js
│   │   └── init.js
│   │   └── keyboard.js
│   │   └── lang.js
│   │   └── listener.js
│   │   └── password.js
│   │   └── userprofile.js
│   ├── /model
│   │   ├── /background
│   │   │   └── alarm.js
│   │   │   └── background.js
│   │   │   └── destroytask.js
│   │   │   └── managertask.js
│   │   │   └── notification.js
│   │   ├── /data
│   │   │   └── datasync.js
│   │   │   └── taskdata.js
│   │   │   └── userdata.js
│   │   ├── /extension
│   │   │   └── extOrWeb.js
│   │   │   └── idegen.js
│   │   │   └── reload.js
│   │   ├── /storage
│   │   │   ├── /encrypt
│   │   │   │   └── encrypt.js
│   │   │   └── storagetask.js
│   │   │   └── storageuser.js
│   │   │   └── storagewrapper.js
│   │   └── init.js
│   ├── /view
│   │   └── init.js
│   │   └── showmenu.js
│   │   └── taskmenu.js
│   │   └── usermenu.js
│   └── script.js
├── /locales
│   ├── de.json
│   ├── en.json 
│   ├── es.json 
│   ├── hi.json
│   ├── pt.json
│   ├── ru.json
│   └── zh.json    
├── /manifest
│   └── /chrome
│   │   └── manifest.json
│   ├── /firefox
│   │   └── manifest.json
├── /src
│   ├── icon.py
│   ├── icon16.png
│   ├── icon48.png
│   ├── icon128.png
│   └── settings.png
└── background.html
└── manifest.json

Tested Versions

Resources Used

Authors or Credits

  • Created by Yordis Cujar.
  • Credits to David J. Malan and the CS50 course at Harvard University for their guidance.

Certificate