geoffreyd / Tasks forked from suvajitgupta/Tasks

An agile software task management tool & SproutCore sample application

This URL has Read+Write access

geoffreyd (author)
Wed Sep 30 01:01:25 -0700 2009
commit  d60f362e4ab534b0f3e7f23af39c902543fefe1b
tree    ff566d1d0e833dfced275c12bbc0231b409d79e5
parent  6550ce85e50e21567654a4a2860164a0e565377d
Tasks /
name age message
file .gitattributes Mon Jun 29 22:33:53 -0700 2009 Added .gitattributes per Erich Ocean's comments... [joshholt]
file .gitignore Wed Sep 09 19:25:13 -0700 2009 updated Tasks Plan and assignee loading colors [suvajitgupta]
file .gitmodules Mon Jul 13 14:53:30 -0700 2009 fixed statechart dependency [suvajitgupta]
file Buildfile Loading commit data...
file README
directory apps/
directory frameworks/
file gitconfig.sample Fri Jun 26 12:55:02 -0700 2009 added sample git config [suvajitgupta]
file license.js Tue Aug 11 11:13:36 -0700 2009 switched to MIT License - for real :-) [suvajitgupta]
directory persevere/ Fri Aug 07 07:35:19 -0700 2009 Switched to remote data source (Persevere serve... [Sean Eidemiller]
file server-start.sh Tue Sep 08 12:05:31 -0700 2009 Minor change to server start script. [Sean Eidemiller]
file server-stop.sh Tue Sep 08 12:00:35 -0700 2009 Added support for test vs. production Persevere... [Sean Eidemiller]
directory tasks-server/
README
GETTING TASKS & SPROUTCORE CODE
==============================================================================

Change to the directory where you would like to work on Tasks and type...

git clone git://github.com/sproutit/sproutcore-abbot.git abbot
git clone git://github.com/suvajitgupta/Tasks.git tasks
cd tasks
git submodule init
git submodule update


RUNNING PERSEVERE
==============================================================================

To start the Persevere server...

./server-start.sh

To stop the Persevere server...

./server-stop.sh


INITIAL PERSEVERE SETUP
==============================================================================

1) Start the Persevere server (see above).

2) Navigate to the following URL...

http://localhost:8088/tasks-server/explorer.html

3) Select "user" (with a lowercase "u") from the "Select a class/table"
   dropdown menu.

4) Click on the "Create New User" button.

5) In the dialog box, enter the following JSON snippet...

{ name: '<full name>', loginName: '<initials>', role: '<role>' }

...where role is ("_Manager" | "_Developer" | "_Tester").
Note: the underscores are necessary for internationalization.

For example...

{ name: 'Suvajit Gupta', loginName: 'SG', role: '_Manager' }
{ name: 'Sean Eidemiller', loginName: 'SE', role: '_Developer' }

6) Repeat as desired for multiple users.

7) Click the "Save" button.

// TODO: [SE] document steps for creating a team production deployment of Tasks


RUNNING TASKS
==============================================================================

1) Start the SproutCore server...

../abbot/bin/sc-server

(This assumes that you have the SC build tools installed.)

1) Navigate to the following URL...

http://localhost:4020/tasks

2) Enter your login name in the dialog box (corresponds to "loginName" in the
   user JSON that you defined in the Persever setup).

3) Add a project, add tasks to it, hit Save periodically, have fun!


TASKS OVERVIEW
==============================================================================

Welcome to "Tasks!" I created "Tasks" for a few reasons:

1. To become a "real" sample application that goes beyond the "hello world"
   examples (like "clock") and snippets showing off facets of SproutCore
   (like "drag").  SproutCore is very elegant and powerful framework and my
   goal is to use Tasks to ramp up as well as showcase its capabilities.

2. To illustrate how to engineer a non-trivial application using things like
   a task plan (scope/assignments), wireframes/mockups (vision/GUI design),
   statecharts/MVC structure (technical design), and integration with a remote
   server via REST/JSON.

3. We all build software and "Tasks" can become your agile software management
   tool - you won't need the cumbersome task tracking & bean counting tools
   overhead staff like to justify their existence with :-)

4. SproutCore itself will go through an explosive launch and maturation in
   2009.  During this metamorphosis, Tasks can become the feature/bug tracking
   tool for SproutCore - what better that an application built with SproutCore
   itself!

Tasks is "in progress" - we plan to tinker with it in the coming months and
mature it into the tool we use to manage the development of a very complex
commercial SproutCore application.  I hope you will find Tasks useful as
you start your journey with SproutCore.  Please feel free to send me your
feedback or code contributions!

-Suvajit Gupta (suvajit.gupta@eloqua.com)


TASKS ARTIFACTS
==============================================================================

To start getting oriented with Tasks, scan the following artifacts in the
docs/ folder:

1. TasksPlan.txt: shows the work breakdown and assignments - feel free to pick
   up an item that is not "Done" and hack away at it!

2. TasksWireframe.png: shows the initial GUI design with callouts explaining
   the key functionality.

3. TasksMockup*.png: shows the visual design concepts we used to style Tasks.

4. TasksStatecharts.pdf: shows the states/transitions within the GUI.

5. TasksControllers.pdf: shows how the various controllers are wired together
   and how the views relate to them (implementing thge root controller pattern).

6. TasksAPI.xml: drag this file into your browser - the files in the "include"
   folder render this specification in a nice format for you to understand the
   REST API endpoints.

7. TasksJSON.xml: documents the model object structure for what is sent to the
   server via REST calls.

8. TasksFileFormat.txt: Shows the simple/intuitive syntax for importing data
   into and exporting data from Tasks.  In fact, the TasksPlan.txt is itself
   written in this format and can be imported into Tasks!