Todos specification


Published on

As seen in:

Published in: Business, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Todos specification

  1. 1. Efficient todo management tool “Todos”Web application specification version 1.0 (2011/12/01)RequestI am looking for an experienced PHP developer to build a tiny todo management web application in the style of an Eisenhower/Covey 2x2matrix, allowing users to manage their todos by importance and urgency. I will be providing a HTML5 template with different header statesand overlays information notices, CSS and graphics.BackgroundUsing oDesk, I wish to create a minimum viable product to collect early adopter feedback and further develop this concept towards marketneeds. Nevertheless, I prefer a clean and smart technical solution, because I would like to have the code maintained as the product scales.ScopeThe site itself consists of a navigation header, a form which stores all todos in a MySQL database anytime a save button is clicked, and a staticfooter. On page reload or login, a users saved data will be retrieved from the database. Users are able to use, sign-up for the service, login andlogout on a single page.Sign-upFollowing sign-up with e-mail address and password, an e-mail confirmation request is sent to the new user. The e-mail address needs to beconfirmed before the corresponding user account is finally set-up and the ability to save the todo list gets enabled.Log-inAfter sign-up or log-in (following a log-out), please create a cookie so that users do not need to log-in again. This cookie might expire sometimelike after a month or (even better) never, depending on what is easier to implement.Use case
  2. 2. 1. Guest visits page2. Guest enters first todo in form3. Guest hits save button Guest sees information notice that to save his todos, sign-up is required4. Overlay appears, requesting sign-up to save Guest clicks information link that lets the sign in form switch to a sign up form5. Guest enters e-mail address (must not be in database already) and chooses a password6. Overlay Information notice says that e-mail address needs to be confirmed to enable save button7. Guest confirms his e-mail address by clicking a link in a confirmation request e-mail8. User account is created, the user is logged in with the ability to save todo list9. User enters todos and saves them10. User leaves page by navigating away or logging outTechnical solutionI wish to get a deployment-ready PHP solution with database configuration file. When running, I expect a users save operations to beperformed using Ajax without the need to refresh the page. The same is true for the sign-up overlay yellow information notices andinformation link. Using proven frameworks for PHP (f.e. symfony/CakePHP) or JavaScript (f.e. jQuery) to speed up development time isappreciated.Deployment scenarioLinux server, running Ubuntu, Apache and MySQLDesign templatesPlease see below
  3. 3. A. Landing page or logged out (new page loaded following deep link to index or logout)
  4. 4. B. Create account link clicked (JavaScript update without page refresh)
  5. 5. C. Account created, logged in and waiting for e-mail confirmation (following Ajax form submit and JavaScriptupdates to the header without page refreshes)
  6. 6. D. E-mail address confirmed (new page loaded following confirmation request e-mail link clicked)
  7. 7. E. Saving (JavaScript button text update with Ajax form submit without page refreshes)
  8. 8. Saved (Ajax “submission saved” response processing and JavaScript button text update without page refreshes)“Saved” will stay as long as no input has occured. As soon as the user starts changing the textareas’ content, the button will again be updatedby JavaScript, then showing the regular “Save now” button text as long as no manual or auto save occurs. This behaviour is comparable Google
  9. 9. Docs.