The application that is needed is a time tracking application. It is a derivative of the canonical single page starter application TodoMVC. I hope that because of the simularity, you will be able take the concepts from the tutorials on TODO apps and expand that to work with this application.
I have written a simple web service to use with your front-end. To start the web service run the following in a terminal:
python timetracker.py
The webservice is composed of the following RESTful resources that your Backbone.js application will need to integrate with. The keys and JSON structure are not defined in the web service. Your client-side application is free to define the structure and the JSON and what the key will be.
Retrieve a list of projects
Retrieve a single project
Store a project's JSON document at this URI
Delete a project
Retrieve a list of tasks for a project
Get a single task's data
Store a task's JSON document at this URI
Delete a task
Place all your HTML, CSS, and Javascript in the webroot/ directory. They will be served from the root of the site.
For instance webroot/app.js
will be served at http://localhost:8000/app.js
.
- As a user, I would like to have a page that lists all my projects
- As a user, I would like to have a page for a single project that lists its tasks and total elapsed time
- As a user, I would like to be able to add, edit and delete projects
- As a user, I expect a project to have a title
- As a user, I would like to be able to add, edit and delete tasks for a project
- As a user, I expect a project's task to have a title and an elapsed time
All UX and design for this project is up to you as long as these requirements are satisified.