Notecloud is a lightweight Evernote clone built using Ruby on Rails and React.js. See it live here
Users can create, read, update and delete notes.
Notes can be easily organized into notebooks.
Tags can be created and linked to notes in a many to many realtionshsip. Tags can be created by clicking on the create tag button.
And also by typing the name of the tag in the input field on the note form.
A tag is only created if one does not already exist with that name and if the note form input is used a tagging association is created.
Users can search notebooks and tags via the search bar in the coresponding index component.
The controllers index method performs a case insensitive search if the search param is present and returns the corresponding collection.
def index
if params[:search]
@notebooks = current_user.notebooks.where("lower(name) LIKE ?", "%#{params[:search].downcase}%").includes(:notes)
else
@notebooks = current_user.notebooks.includes(:notes)
end
render :index
end
Notes are loaded 25 at a time with the next batch being fetched when the user scrolls to the bottom of the list. When this occurs a loading spinner appears and then disappears when the response is received.