Skip to content
Stoyan Rachev edited this page Aug 19, 2012 · 12 revisions

Introduction

Todor is a simple Todo list management Web application, based on Google Web Toolkit. One of its most prominent features is using HTML5 local storage to enable offline editing of Todo items. It showcases GWT architecture principles and programming practices such as Model-View-Presenter (MVP), UI binding, HTML5 storage, client-server communication, JDO-based persistence, and unit testing.

The application is deployed on Google App Engine and available at http://todo.stoyanr.com.

Feedback, comments, and contributions are welcome!

Screenshots

Application Features

  • Add, edit, and delete Todo items that have description, priority, and status.
  • Track the dates of creation and last update for each Todo item.
  • Sort Todo items by id, priority, status, creation date or last update date.
  • Work in your browser and save your items to the backend with a button click.
  • Load your items from the backend automatically upon startup, if the last save is newer than your local changes.
  • Work offline if the backend is temporarily unavailable.
  • Restart your browser and your unsaved items are still there, ready to be saved.
  • Sign-in with your Google account to edit your personal Todo list.

History

Similarly to Feeder, Todor was originally created in July / August 2012 for an internal "geeks" contest at (SAP). The contest task demanded creating a Todo list application which runs locally in the browser and uses HTML5 features such as local storage, without any backend. Participants were free to choose whatever JavaScript frameworks they wanted. I personally chose GWT as it allowed me to create the application entirely in Java using modern design principles (MVP). I also decided to add a JDO-based backend for GAE to end up with a real Web application which offers basic but still useful functionality.

Credits

When starting this project, I found a number of blog posts and open source projects on this topic. I learned a lot from examining their code and the chosen approaches. However, Todor was written from scratch and is only vaguely similar to any of them:

Programming Highlights

Read more: *

Known Issues / TODOs

  • Layout and styles could be improved a lot.
  • Additional views for smaller screens (mobile devices) could be added.
  • More unit tests could be added, especially the views and the backend services are currently not covered by unit tests.
  • No Maven build.
Clone this wiki locally