MortalNote is an Evernote clone that implements pixel perfect replication and identical, albeit limited, functionality.
MortalNote is the creation of Benji Rothman.
You can access the site at http://mortal-note.herokuapp.com
MortalNote implements ReactQuill, a React Component that wraps around the popular Quill.js library. This allows for Rich Text Editing in all of the user's notes.
I utilized the omniauth-google-oauth2 gem to allow users to sign up and login with Google. I secured my Google API Key with the master.key and credentials.yml.enc design pattern built into Rails.
MortalNote features modals for CRUD actions -- specifically CREATE -- with notebooks and notes to enhance user experience. I also mapped a DELETE action to a trashcan icon to allow users to intuitively delete notes.
MortalNote implements CSS Grid technology to enhance the web application's responsiveness. This allows MortalNote to be a more responsive webpage than Evernote.
The Searchbar currently hits the database on each keystroke to fetch all the user's notes and notebooks. I will refactor the application to store all notes and notebooks in a search slice of state. This will remove the need to talk to the database. This allows users to live-filter results by note content and title without firing off queries to the database.
React Quill provides a built-in mechanism for uploading and storing images. I will learn this specific API and implment image uploading in MortalNote.
I want to provide a tiny icon that allows a note to become full-screen, which removes the note-index-items and the sidebar. Clicking the icon again exits full-screen.
I will add code snippets under the key feature sections.
-
Click 'Sign Up'.
-
Enter your email and password, or continue with Google.
-
You're in!
-
Replace your first note's title with a title of your choice.
-
Hit enter and add text to your note's body.
-
Watch as the application autosaves your changes every three seconds.
-
Create a New Note with the Add Note Button
-
View your Notebooks by visiting /notebooks or by clicking on the Notebooks button on the sidebar.
-
Create a New Notebook with the Add Notebook Button
-
Click on the Newly Created Notebook to automatically generate your first note in that notebook.
-
Repeat!
This software uses code from several open source packages, including the following: