My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
VisionDocument  

Introduction

Purpose

This 'Vision' document contains Devecathlon's project requirements and goals. Not everything here is totally fixed, but at least we'll try to follow these guidelines to have a basis of what this project is intended for and its targeted audience.

The Vision

Devcathlon is a Java-based Wicket web application intended to entertain, as well as educate software developers to help improve their individual/group software engineering practices and to promote healthy software project environments.

System Requirements & Goals

Consider the following use cases

Initialization of a user

An existing Hackystat user or a newly registered Hackystat user signs into Devcathlon is provided with a home profile page containing basic information upon registering an account. Users are automatically initialized after signing on, and they are readily associated with their existing projects and team members via extracted information from Hackystat.

Navigation

(Public)The start-up page of Devcathlon begins with an overview page with view-only listings of events containing scored matches of all involving teams and members. The front-page also contains a login panel for signing in with an existing user account, given the following credentials: username and password. The login panel also contains a 'Register' link that links to a registration or help page explaining about the procedures needed to obtain an account with Hackystat. Since Devcathlon is a 'sub-entity' of Hackystat, accounts are shared via this one-time registration through Hackystat's hub. (Private)Once the user has signed on with the correct credentials, then they are given system access to Devcathlon's entire interface. Here, Devcathlon presents with an easy-to-use site wide navigation bar that contains linkable tabs to multiple sections, including Profile, Team, Match and Scoreboard pages.

User account

Once a user is defined in the system, they are given freedom to access their personal account information through their personalized profile page. The profile page contains basic user information, including their first and last name, contact info, and basic biographical info. Users are also able to have a listing of their associated projects and teams, and a viewable log of their recent events. The user is also able to navigate to edit their personal information and have highlighted links to easily view other sections of the site. The profile page gives flexibility to the user by also providing an account settings page for defining the frequency of email notifications, or messaging via SMS, or Twitter options.

Teams and Projects

A user who owns one or more project is able to create a team. Projects are defined by project owners which is reflected in their Hackystat account. All associated members of a project are notified via email or the next time they log into Devcathlon. Respective members are given invitations with options to either accept or decline participation in the team/project. Project owners are also given the ability to create user invitations beyond the initial members defined for that project. If a user accepts or declines a team/project invitation, the invitee (team owner) is notified about the status of that particular user. Finally the context of the user and their invites are updated to include or exclude teams/projects. For each team, one or more members of that team is elected a team leader/moderator.

Matches and Scoreboard

Team members of a project are able to challenge other teams of a different project in an organized match. A match may consist of two or more teams/projects. Each elected team leader has the ability to send invitations to a newly created match. The invitations process remains the same; the respected team opponents are notified via email and in Devcathlon about challenges or upcoming match events. Again, the team leader is responsible for accepting or declining a match invitation, and notification emails are sent out to invitees about the status of participants.

A match is scored accordingly by events driven from each participating member of a team. These events have predefined values and attached penalties or rewards depending on the set amount of thresholds. More details of each system event can be found, here. Each event is defined by data interpreted from Hackystat's numbers. Individual and team scoring will be recorded and displayed for general comparison on the Scoreboard page. The Scoreboard page is intended to give a public display of scores in a game or match. It also displays featured matches, upcoming events, daily and weekly scores of each match-up.

Technical Requirements & Goals

Current System Review

Review-06/2009

Many of the featured requirements described above are already implemented, except for little details here and there. Bullet points that are italicized and bold indicate features not yet implemented or does not meet certain system requirements.

  • UI Review
    • User inititalization
      • The Devcathlon account process is automated and still requires registration for a Hackystat account.
    • Navigation
      • The main site navigator follows a tree like menu system, containing menus and sub-menus to each respected part.
    • User account
      • The user is presented with a profile/home page, similar to a dashboard containing relevant actions or events to personalize their experience.
      • Account settings page not yet implemented. This page would give users the ability to set personal preferences about email, Mobile or Twitter notifications.
    • Teams and projects
      • Teams are created out of the existence of a project, as defined in each project owner's portfolio in Hackystat.
      • The team invitations are automated and users are notified in Devcathlon.
      • Currently, no user is notified by any other alternative source of delivery, since there is no email delivery system in Devcathlon nor a mechanism to 'tweet' members.
      • Team owners do not have the capability to send personal team/project invites to another Devcathlon user. The only way to accomplish this (since invitations are automated) is to physically add another member via Hackystat. This somewhat makes it less transparent and more of a hassle to team/project owners who would have to switch between two separate systems.
    • Matches and Scoreboard
      • Currently a match only consists of two teams. And of course a team may be associated with one or more other teams of another match.
      • Scoreboard displays score line-ups of each ongoing or completed match.
      • Teams with the most points are recognised as winners of that match.
      • A list of most valuable players and their accumulated scores are listed per match.
      • Scoreboard needs to give clearer indications on the status of a given match. It currently lacks some descriptive details that could serve useful to users, for example start and end times, status, current duration, prioritised order by matches nearing to the end.
  • Technical Review

Future Improvements


Sign in to add a comment
Powered by Google Project Hosting