Feathernote is an open source note-taking app inspired by Evernote. It is built on Rails and Backbone. Users can:
- Create accounts
- Create sessions (log in/log out)
- Create notes and notebooks
- Create tags
- View notes and notebooks
- Organize notes into custom notebooks
- Tag notes with multiple tags
- Search for notes by title
- Search for notes by notebooks or tags
I will implement user authentication in Rails. By the end of this phase, users will be able to create notes and notebooks using a simple text form in a Rails view. The most important part of this phase will be pushing the app to Heroku and ensuring that everything works before moving on to phase 2.
I will add API routes to serve note and notebook data as JSON, then add Backbone models and collections that fetch data from those routes. By the end of this phase, users will be able to create and view notes and notebooks and view, all inside a single Backbone app.
I plan to use third-party libraries to add design bfunctionality to the NoteForm and
NoteShow views in this phase. First I'll need to add a Markdown editor to the
NoteForm, and make sure that the Markdown is properly escaped and formatted in
the NoteShow view.
I'll need to add search routes to both the Notes and Notebooks controllers. On the
Backbone side, there will be a SearchResults composite view which has NotesIndex
and NotebookIndex subviews. These views will use plain old notes and notebook collections, but they will fetch from the new search routes.
- Authenticate email addresses and account activation upon sign-up
- Add jQuery UI drag/drop functionality
- Allow rich text editing of notes
- Multiple sessions/session management
- Typeahead search bar