|
VisionDocument
IntroductionPurposeThis '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 VisionDevcathlon 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 & GoalsConsider the following use cases Initialization of a userAn 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 accountOnce 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 ProjectsA 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 ScoreboardTeam 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 & GoalsCurrent System ReviewReview-06/2009Many 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.
Future Improvements |