An open source Scrum Project Management Tool
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
source
README.md

README.md

ScrumTime

The vision of ScrumTime is to provide a simple Agile project management tool to the open source community.

There have been several different implementations of this web application but none were completed to a full production level status. The 1.0 version is intended to provide the initial production level implementation.

The most important goal of Scrumtime 1.0 is to provide a complete separation between the REST API and the Single Page Application UI.

Todo

  • Get the ScrumTime.Foundation working before renaming to ScrumTime.Core
    • Migrate to ASP.NET MVC Web API 6
    • Ensure that the db can be switched to SQLServer (do not force MongoDB to be used)
  • Consult OWASP to determine the best secure JSON approach
  • Create a new UI that is a Single Page Application
  • Evaluate GitHub and BitBucket user authentication mechanisms to determine if both can be supported
  • Remove the concept of ScrumTasks (allow tasks to be updated on end-user's schedule...not just during Scrum meetings)
  • Standup public service in cloud hosted environment (depending on cost)

1.0 Minimum Features

API supporting:

  • User - A user is the ScrumTime secured user that belongs to the default organization. This provides the CRUD operations for the user.
  • Authority - An authority defines the ScrumTime authorization of the user.
  • Backlog - The organization of stories in priority order of completion. This provides the CRUD operations for the backlog list.
  • Product - A product may have stories, tasks, bugs, sprints, releases, or artifacts.
  • Team - A team belongs to the default organization and has team members and artifacts.
  • TeamMember - A teamMember belongs to a team and may have artifacts.
  • Story - A story belongs to a product, may contain artifacts, and may have child tasks or bugs.
  • Task - A task belongs to a story and/or a bug and may have artifacts.
  • Sprint - A sprint belongs to a product and may have stories and artifacts.
  • Release - A release belongs to a product and may have sprints and artifacts.
  • Artifact - An artifact belongs to a product, teamMember, team, story, task, sprint, bug, or release. This is an uploadable file.
  • Bug - A bug belongs to a product, story, or bug and may have tasks and artifacts.

Single-Page-Application:

  • Separate the UI project completely from the REST API

Post 1.0 Features

API supporting:

  • HierarchicalEpic - Allows epics to be defined with parent/child relationships to other Epics.
  • HierarchicalStory - Allows stories to be defined with parent/child relationships to other Stories.
  • HierarchicalTask - Allows tasks to be defined with parent/child relationships to other Tasks.
  • Actor - An actor belongs to a product and may be used by multiple stories and has artifacts.
  • TeamRole - A team role belongs to a team member.
  • TeamMember - A team member belongs to a team and has artifacts.
  • Customer - A customer belongs to a product and default organization and has support tickets, ideas, feature requests, and invoices.
  • SupportTicket - A support ticket belongs to a customer and a product and has bugs, stories, sprints, and releases.
  • FeatureRequest - A feature request belongs to a customer and a product and has bugs, stories, sprints, releases, and artifacts.
  • ParkingLot - A parking lot belongs to a product and has stories, feature requests, and ideas.
  • Idea - An idea belongs to a parking lot and has artifacts.
  • Impediment - An impediment belongs to a sprint and has teams, team members, tasks, stories, customers, support tickets, ideas, and artifacts.
  • CustomerWiki - A customer wiki belongs to a product and has customer surveys, impediments, ideas, feature requests, support tickets, release notes, invoices, invoice alerts, release alerts, and artifacts.
  • TeamWiki - A team wiki belongs to a team and/or default organization and has team members, teams, work assignment alerts, sprint notes, release notes, release alerts, impediments, and artifacts.
  • Invoice - An invoice belongs to a customer and product.
  • CustomerSurvey - A customer survey belongs to a customer wiki.
  • ReleaseNote - A release note belongs to a release and has customer wikis and team wikis.
  • SprintNote - A sprint note belongs to a sprint and has team wikis.
  • InvoiceAlert - An invoice alert belongs to a customer and has customer wikis.
  • ReleaseAlert - A release alert belongs to a release and has customer wikis and team wikis.
  • WorkAssignmentAlert - A work assignment alert belongs to a product and has users.

Single-Page-Application:

  • The SPA UI will likely break release cycle from the REST API at this point to accommodate a quick release cycle for the UI separate from the API.

###Languages

  • Javascript
  • CSS
  • HTML
  • SQL/JSON

###API Server Environment ASP.NET MVC Web Api 6

###Data Store MongoDB and MSSQL