From 181fa1673c5f151f808c3b5f3379e82aae042ed7 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 10 Feb 2014 11:11:44 -0500 Subject: merge the Design document purpose --- docs/DesignDocument.md | 17 ++++++++++++++--- docs/DesignDocument_Purpose.txt | 15 --------------- 2 files changed, 14 insertions(+), 18 deletions(-) delete mode 100644 docs/DesignDocument_Purpose.txt (limited to 'docs') diff --git a/docs/DesignDocument.md b/docs/DesignDocument.md index 7b4d8d2..5ee831a 100644 --- a/docs/DesignDocument.md +++ b/docs/DesignDocument.md @@ -7,9 +7,20 @@ Created 2014.02.09 # Purpose -This document describes all components of the Leaguer Tournament -management system. Leaguer is a software to be installed and run on a -server. TODO. ANDREW COMPLETE THIS. +The purpose of this document is to outlay the desgin, intent, and structure of +the Project Leaguer tournament organizing software. + +Released under an open license, Project Leaguer leverages powerful web +technologies to provide everything needed to organize an online tournament. +Whether it's League of Legends, Chess, Poker or more, Project Leaguer provides +tournament organizers, participants, and spectators with an online +interface to keep up with the score. + +The software itself operates as a stand-alone background application +accessible and configurable though its web interface. + +NOT FINISHED -- JUST COMMITING +ANDREW COMPLETE THIS. # Non-Functional Requirements diff --git a/docs/DesignDocument_Purpose.txt b/docs/DesignDocument_Purpose.txt deleted file mode 100644 index ed06d2f..0000000 --- a/docs/DesignDocument_Purpose.txt +++ /dev/null @@ -1,15 +0,0 @@ -Purpose: - -The purpose of this document is to outlay the desgin, intent, and structure of -the Project Leaguer tournament organizing software. - -Released under an open license, Project Leaguer leverages powerful web -technologies to provide everything needed to organize an online tournament. -Whether it's League of Legends, Chess, Poker or more, Project Leaguer provides -tournament organizers, participants, and spectators with an online -interface to keep up with the score. - -The software itself operates as a stand-alone background application -accessible and configurable though its web interface. - -NOT FINISHED -- JUST COMMITING -- cgit v1.2.3-2-g168b From c601081dca86abf4c0e5083e242022b7f9373436 Mon Sep 17 00:00:00 2001 From: DavisLWebb Date: Mon, 10 Feb 2014 12:00:24 -0500 Subject: I have finally added a model section. --- docs/.~lock.DesignDocument.docx# | 1 - docs/DesignDocument.md | 24 ++++++++++++++++-------- 2 files changed, 16 insertions(+), 9 deletions(-) delete mode 100644 docs/.~lock.DesignDocument.docx# (limited to 'docs') diff --git a/docs/.~lock.DesignDocument.docx# b/docs/.~lock.DesignDocument.docx# deleted file mode 100644 index 50859f6..0000000 --- a/docs/.~lock.DesignDocument.docx# +++ /dev/null @@ -1 +0,0 @@ -Davis ,amelia,Amelia,10.02.2014 10:30,file:///home/amelia/.config/libreoffice/3; \ No newline at end of file diff --git a/docs/DesignDocument.md b/docs/DesignDocument.md index 7d9bc14..a15c2f7 100644 --- a/docs/DesignDocument.md +++ b/docs/DesignDocument.md @@ -32,22 +32,30 @@ This document describes all components of the Leaguer Tournament management syst TODO Guntas. Email dunsmore and marco about this, then fill it out. 3 Design Outlines + 3.1 Design Decisions and Components Our system will on the Model 2 design pattern/architecture. TODO: Davis – add the purpose of EACH component as a list. Controllers – The controllers will control any logic necessary to obtain the correct content for display. It then places the content in the request and decides which view it will be passed to. -Models – The classes in the UML document below will reside in the model… + +Models – We will be using a Ruby on Rails model. The Ruby on Rails framework maps to a table in the database and a Ruby file. So a User will usually be difined as user.rb in the app/models directory and this will be linked to the table users in the database. + Views – Views will be the HTML pages for Leaguer, and will display the users desired content inside of the web browser. + Component Interaction Controllers will be used to run all of the background work of Leaguer. They will fetch the necessary data and will tell the view what to do. We will be implementing seven controllers into Leaguer. Those will be: - I. PM & Alerts – This controller will be used for sending and receiving private messages to and from the host. Players will be able to message the host in order to inform him/her of anything during the tournament. This will also allow the host to post any notifications he or she desires that will be displayed for all to see. - II. Homepage – Used to handle the homepage. This will be the first web page seen by any user of the application. - III. Login – This controller will be used when a user attempts to sign in to their profile on Leaguer. - IV. Search – This controller will be used to search the web-base for on going tournaments, players and past tournaments. - V. Tournament – Used for setting up a tournament. This will be restricted to the host of the tournament. + I. PM & Alerts – This controller will be used for sending and receiving private messages to and from the host. Players will be able to message the host in order to inform him/her of anything during the tournament. This will also allow the host to post any notifications he or she desires that will be displayed for all to see. + II. Homepage – Used to handle the homepage. This will be the first web page seen by any user of the application. + III. Login – This controller will be used when a user attempts to sign in to their profile on Leaguer. + IV. Search – This controller will be used to search the web-base for on going tournaments, players and past tournaments. + V. Tournament – Used for setting up a tournament. This will be restricted to the host of the tournament. VI. User – The controller that will take each user to their own profile. - VII. Match/Peer Review – used for gather game statistics and the separate player reviews. -Each of these controllers will fetch the data specified by its separate section. The view will then be used to display all of this information, so Login will take the user to a login page, search will take the user to a search page and so on. + VII. Match/Peer Review – used for gather game statistics and the separate player reviews. + +Each of these controllers will fetch the data specified by its separate section. The view will then be used to display all of this information, so Login will take the user to a login page, search will take the user to a search page and so on. + +The Model will be the data section that will map all of the information to their proper locations in the data base + Design Issues Scoring Algorithm -- cgit v1.2.3-2-g168b From dd44aa57fec1c1d23e937ef0cbda3a4fd373d732 Mon Sep 17 00:00:00 2001 From: AndrewMurrell Date: Mon, 10 Feb 2014 12:16:02 -0500 Subject: Added my two cents for the Purpose section. --- docs/DesignDocument.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/DesignDocument.md b/docs/DesignDocument.md index 7d9bc14..44671ff 100644 --- a/docs/DesignDocument.md +++ b/docs/DesignDocument.md @@ -26,7 +26,22 @@ Davis Webb 1 Purpose -This document describes all components of the Leaguer Tournament management system. Leaguer is a software to be installed and run on a server. TODO. ANDREW COMPLETE THIS. + +The purpose of this document is to outlay the desgin, intent, and structure of +the Project Leaguer tournament organizing software. + +Released under an open license, Project Leaguer leverages powerful web +technologies to provide everything needed to organize an online tournament. +Whether it's League of Legends, Chess, Poker, or more, Project Leaguer provides +tournament organizers, participants, and spectators with an online +interface to keep up with the score. Even better Project Leaguer offers scoring +features and options which would be very difficult to implement with traditional +tournament organizing practices such as peer review and team-independent +individual scoring. + +The software itself operates as a stand-alone background server application +accessible and configurable though its web interface which reveals to users a +sleek web application which manages tournaments. 2 Non-Functional Requirements TODO Guntas. Email dunsmore and marco about this, then fill it out. -- cgit v1.2.3-2-g168b From 9df34f73547fa006604d33da63761ae95c944871 Mon Sep 17 00:00:00 2001 From: AndrewMurrell Date: Mon, 10 Feb 2014 12:21:53 -0500 Subject: Updated Purpose. --- docs/DesignDocument_Purpose.txt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/DesignDocument_Purpose.txt b/docs/DesignDocument_Purpose.txt index ed06d2f..3bb85c1 100644 --- a/docs/DesignDocument_Purpose.txt +++ b/docs/DesignDocument_Purpose.txt @@ -5,11 +5,14 @@ the Project Leaguer tournament organizing software. Released under an open license, Project Leaguer leverages powerful web technologies to provide everything needed to organize an online tournament. -Whether it's League of Legends, Chess, Poker or more, Project Leaguer provides +Whether it's League of Legends, Chess, Poker, or more, Project Leaguer provides tournament organizers, participants, and spectators with an online -interface to keep up with the score. +interface to keep up with the score. Even better Project Leaguer offers scoring +features and options which would be very difficult to implement with traditional +tournament organizing practices such as peer review and team-independent +individual scoring. -The software itself operates as a stand-alone background application -accessible and configurable though its web interface. +The software itself operates as a stand-alone background server application +accessible and configurable though its web interface which reveals to users a +sleek web application which manages tournaments. -NOT FINISHED -- JUST COMMITING -- cgit v1.2.3-2-g168b From dd14781005a08cc0051f3be82ea0b9913b167fdb Mon Sep 17 00:00:00 2001 From: DavisLWebb Date: Mon, 10 Feb 2014 12:27:41 -0500 Subject: Basic formatting stuff. I added a small amount of information to my section (3.1-3.2) --- docs/DesignDocument.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/DesignDocument.md b/docs/DesignDocument.md index 87599c7..7d6bd03 100644 --- a/docs/DesignDocument.md +++ b/docs/DesignDocument.md @@ -48,7 +48,9 @@ TODO Guntas. Email dunsmore and marco about this, then fill it out. 3 Design Outlines 3.1 Design Decisions and Components -Our system will on the Model 2 design pattern/architecture. TODO: Davis – add the purpose of EACH component as a list. + +Our system will on the Model 2 design pattern/architecture. + Controllers – The controllers will control any logic necessary to obtain the correct content for display. It then places the content in the request and decides which view it will be passed to. Models – We will be using a Ruby on Rails model. The Ruby on Rails framework maps to a table in the database and a Ruby file. So a User will usually be difined as user.rb in the app/models directory and this will be linked to the table users in the database. @@ -58,6 +60,7 @@ Views – Views will be the HTML pages for Leaguer, and will display the users d Component Interaction Controllers will be used to run all of the background work of Leaguer. They will fetch the necessary data and will tell the view what to do. We will be implementing seven controllers into Leaguer. Those will be: + I. PM & Alerts – This controller will be used for sending and receiving private messages to and from the host. Players will be able to message the host in order to inform him/her of anything during the tournament. This will also allow the host to post any notifications he or she desires that will be displayed for all to see. II. Homepage – Used to handle the homepage. This will be the first web page seen by any user of the application. III. Login – This controller will be used when a user attempts to sign in to their profile on Leaguer. @@ -68,7 +71,7 @@ Component Interaction Each of these controllers will fetch the data specified by its separate section. The view will then be used to display all of this information, so Login will take the user to a login page, search will take the user to a search page and so on. -The Model will be the data section that will map all of the information to their proper locations in the data base +The Model will be the data section that will map all of the information to their proper locations in the data base. Design Issues -- cgit v1.2.3-2-g168b From 938c833d77f400a29fb7cf32a5d4c681857c5532 Mon Sep 17 00:00:00 2001 From: AndrewMurrell Date: Mon, 10 Feb 2014 12:34:14 -0500 Subject: Removed unneeded repetition in merging. --- docs/DesignDocument.md | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'docs') diff --git a/docs/DesignDocument.md b/docs/DesignDocument.md index d20c1ed..9efbca8 100644 --- a/docs/DesignDocument.md +++ b/docs/DesignDocument.md @@ -24,21 +24,6 @@ Davis Webb 5.1Class Descriptions and Interactions 4 5.2UML Diagram of Classes 4 -The purpose of this document is to outlay the desgin, intent, and structure of -the Project Leaguer tournament organizing software. - -Released under an open license, Project Leaguer leverages powerful web -technologies to provide everything needed to organize an online tournament. -Whether it's League of Legends, Chess, Poker or more, Project Leaguer provides -tournament organizers, participants, and spectators with an online -interface to keep up with the score. - -The software itself operates as a stand-alone background application -accessible and configurable though its web interface. - -NOT FINISHED -- JUST COMMITING -ANDREW COMPLETE THIS. - 1 Purpose The purpose of this document is to outlay the desgin, intent, and structure of -- cgit v1.2.3-2-g168b From 59cdfc8b345f347c049e62d76d2129018854dad2 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 10 Feb 2014 12:44:02 -0500 Subject: add DesignDocument.dot graphic --- docs/DesignDocument.dot | 74 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 docs/DesignDocument.dot (limited to 'docs') diff --git a/docs/DesignDocument.dot b/docs/DesignDocument.dot new file mode 100644 index 0000000..820ec79 --- /dev/null +++ b/docs/DesignDocument.dot @@ -0,0 +1,74 @@ +digraph systemModel { + rankdir="LR"; + node[shape="record"]; + + BaseController[label="Controller base class"]; + #subgraph clusterControllers { + # label="Controllers"; + MainController[label=" MainController | showHomepage | editSettings"]; + TournamentController[label=" TournamentController | listTournaments | newTournament | showTournament | editTournament | endTournament"]; + MessageController; + LoginController[label=" LoginController | showForm | login | logout"]; + SearchController; + UserController; + MatchController; + #} + #subgraph clusterViews { + # label="views/"; + subgraph clusterCommonViews { + label="views/common/"; + common_permission_denied; + common_invalid; + } + subgraph clusterMainViews { + label="views/main/"; + main_homepage; + main_settings; + } + subgraph clusterLoginViews { + label="views/login/"; + login_form + } + subgraph clusterTournamentViews { + label="views/tournament/"; + tournament_index; + tournament_new; + tournament_show; + tournament_edit; + } + subgraph clusterMessageViews { + label="views/message/"; + message_private; + message_new_alert; + } + #} + + BaseController -> MainController[arrowhead="onormal"]; + MainController:index -> main_homepage; + MainController:edit -> main_settings; + + BaseController -> TournamentController[arrowhead="onormal"]; + TournamentController:index -> tournament_index; + TournamentController:new -> tournament_new; + TournamentController:show -> tournament_show; + TournamentController:edit -> tournament_edit; + TournamentController:edit -> common_permission_denied; + TournamentController:delete -> common_permission_denied; + + BaseController -> MessageController[arrowhead="onormal"]; + MessageController -> message_private; + MessageController -> message_new_alert; + + + BaseController -> LoginController[arrowhead="onormal"]; + LoginController:index -> login_form; + LoginController:login -> common_permission_denied; + LoginController:logout -> common_invalid; + + BaseController -> SearchController[arrowhead="onormal"]; + + BaseController -> UserController[arrowhead="onormal"]; + + BaseController -> MatchController[arrowhead="onormal"]; + +} -- cgit v1.2.3-2-g168b