More Related Content


Todos specification

  1. Efficient todo management tool “Todos” Web application specification version 1.0 (2011/12/01) Request I am looking for an experienced PHP developer to build a tiny todo management web application in the style of an Eisenhower/Covey 2x2 matrix, allowing users to manage their todos by importance and urgency. I will be providing a HTML5 template with different header states and overlays information notices, CSS and graphics. Background Using oDesk, I wish to create a minimum viable product to collect early adopter feedback and further develop this concept towards market needs. Nevertheless, I prefer a clean and smart technical solution, because I would like to have the code maintained as the product scales. Scope The 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 static footer. On page reload or login, a user's saved data will be retrieved from the database. Users are able to use, sign-up for the service, login and logout on a single page. Sign-up Following 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 be confirmed before the corresponding user account is finally set-up and the ability to save the todo list gets enabled. Log-in After 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 sometime like after a month or (even better) never, depending on what is easier to implement. Use case
  2. 1. Guest visits page 2. Guest enters first todo in form 3. Guest hits save button Guest sees information notice that to save his todos, sign-up is required 4. Overlay appears, requesting sign-up to save Guest clicks information link that lets the sign in form switch to a sign up form 5. Guest enters e-mail address (must not be in database already) and chooses a password 6. Overlay Information notice says that e-mail address needs to be confirmed to enable save button 7. Guest confirms his e-mail address by clicking a link in a confirmation request e-mail 8. User account is created, the user is logged in with the ability to save todo list 9. User enters todos and saves them 10. User leaves page by navigating away or logging out Technical solution I wish to get a deployment-ready PHP solution with database configuration file. When running, I expect a user's save operations to be performed using Ajax without the need to refresh the page. The same is true for the sign-up overlay yellow information notices and information link. Using proven frameworks for PHP (f.e. symfony/CakePHP) or JavaScript (f.e. jQuery) to speed up development time is appreciated. Deployment scenario Linux server, running Ubuntu, Apache and MySQL Design templates Please see below
  3. A. Landing page or logged out (new page loaded following deep link to index or logout)
  4. B. Create account link clicked (JavaScript update without page refresh)
  5. C. Account created, logged in and waiting for e-mail confirmation (following Ajax form submit and JavaScript updates to the header without page refreshes)
  6. D. E-mail address confirmed (new page loaded following confirmation request e-mail link clicked)
  7. E. Saving (JavaScript button text update with Ajax form submit without page refreshes)
  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 updated by JavaScript, then showing the regular “Save now” button text as long as no manual or auto save occurs. This behaviour is comparable Google
  9. Docs.