Notable is a desktop application built with Electron that works both offline and online. It allows the user to create, save, and manage information as notes. The design of the application provides a clean UI that allows for easy organization and categorization. Built with Electron, ReactJs, React Router v4, React Redux, React Semantic UI, PouchDB, and CouchDB.
Since Notable is a desktop application, I wanted to provide the capability to work offline incase of internet outage and online when they are connected. To do this I implented PouchDB as an offline database which syncs the data to an online database(CouchDB) when connected to the internet.
The user can login, create an account, or use offline only mode which does not require an account but data will only be saved locally.
On the first login a few preset categories are available. These can be edited or deleted.
When creating a note, an editor is displayed for any information to be inserted.
Saving the note will allow the user to name the note, choose the category, pin the note, or set it as sensitive information which will require a password to view.
Once saved the note will be available to view, edit, and delete in the category which it was saved into.
Clicking the edit button reopens the note into the editor. A new active tab is also created for the note.
As more notes are added to the category, the notes width will readjust to fit content.
Notes will also adjust themselves depending on the window width.
The sidebar can be hidden by hovering over it and clicking the button which points to the left.
It can be reopened by just hovering over the left area and clicking the button.
Hovering over notes allows for it to be scrolled up or down if there is too much text within the note itself to be displayed.