Skip to content

Commit

Permalink
Merge pull request #94 from Toxantron/dev
Browse files Browse the repository at this point in the history
Update master to on-premise solution
  • Loading branch information
Toxantron authored Nov 10, 2018
2 parents 9159407 + 719f304 commit 32ff20b
Show file tree
Hide file tree
Showing 10 changed files with 43 additions and 219 deletions.
10 changes: 0 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,3 @@ For every story the Scrum Master will than start a poll and each member of the s
If you want to contribute you can just clone the repository and follow the deployment instructions. We also offer support for [Vagrant](doc/Vagrant.md) and [Docker](doc/Docker.md). Any changes must be commited to a fork and then merged by issuing a pull request. For information on the REST API or ticketing plugins please have a look at the [wiki documentation](https://github.com/Toxantron/scrumonline/blob/master/doc/).

You can also use the [REST API](https://github.com/Toxantron/scrumonline/blob/master/doc/Developer-Documentation.md) to build a mobile for iOS or Android. In that case I am happy to link your app in the README and on the page.

## Sponsoring
If you want to support the project, you can become an official sponsor. There are three different levels of sponsoring and each is rewarded with your logo and link in different places. The price for the next level always includes the previous levels privileges. Prices only show the current price for each type and may
change over time based on demand. To become an official sponsor please contact [email protected] with the [necessary information](https://github.com/Toxantron/scrumonline/blob/master/src/sponsors.php) and your desired sponsoring level. You will recieve an official invoice for your sponsorship, which makes it tax deductible for companies. Within 7 days after payment the page will be updated with your logo. Alternatively if you contribute developer time or server resources, you can also be listed as a sponsor.

| Level | Price annually | Logo placement |
|---|---:|---|
| Basic | 20€ | Sponsors tab |
| Footer | 100€ | Footer |
| Repo | 150€ | README on GitHub |
35 changes: 34 additions & 1 deletion doc/Poker-Tutorial.md
Original file line number Diff line number Diff line change
@@ -1 +1,34 @@
_The poker process should be described here_
# Instructions
This page has detailed instructions how to use the app. It is written for the perspective of the session owner, which will be the Scrum Master or Product Owner in most cases, but also includes instructions for the team members.

## Setup a Session
The first step is to setup a new session using the Create Session from on the front page. Pick a name for your session. It does not have to be unique or special, it is mostly for the overview of running sessions and as a title for your session view. Next select a card set for your session from the drop-down box. Those are the card-sets that are most popular and some were contributed by other users. If you need a different card set just click the question mark next to the drop-down to navigate to the file and open a pull request on GitHub.

After setting the name and card set for your session, you can choose to declare your session as private. Unlike public sessions they can only be observed if spectators provide the password. Private sessions also require joining members to either join through invite or session id and password. Once you completed the form press Create and you will be redirected to your new session.

## Invite Members
After you created the session, it is time to invite members and start estimating stories. Your team members have three options to join the session:

1. **Session Id:** Members can join the session by entering the session id, displayed in the top right corner, on the main page. If you choose a private session you must also tell joining members the password for this joining process.
2. **Join URL:** In the bottom left of the session view, below the QR code is the URL to join the session. If you created the session the URL also contains the session token, which is necessary for authorization and access control. You can send this link to your team members to join the session.
3. **QR-Code:** The QR-Code equals the previously mentioned join ULR. It is only a convenience feature for teams who sit in the same room. Instead of typing the session id or copy&pasting the link your team members can use any QR-Code reader on their smartphones to quickly join the session.

Independent from the method your team members pick, they all go through the Join Session form. After entering a member name, and in some cases the session password, they are redirected to the member view of your session. They can pick anything the want as a member name, it must however be unique within your session, otherwise it would not be possible to identify their votes later. In fact, it is not possible to have two members with the same name. Instead both members would then simly share the same view and overwrite each others vote in the process.

The member view is optimized for mobile devices. It displays the title and description of the current poll at the top and all cards from the selected card set below. At the bottom of the page there is also a short explaination of the voting process.

## Load Stories (optional)
Scrumpoker Online offers integrations for GitHub and JIRA, with more plugins under development. If you would like to use either one of those, select it from the tab control at the top and enter the necessary information to fetch issues from the server. Your credentials are not stored anywhere and only transmitted through an encrypted connection. If you are worried you can check for yourself on GitHub or follow the instructions to deploy the app on-premise.

## First Estimation
To start the first estimation, enter topic and description of your feature or select an issue from the list, if you chose one the plugins in the previous step. As soon as you click Start, the poll begins and the stopwatch in the top right corner starts. Members of your team now see title and description of the current story on their devices and can start voting.

Members of your team place votes by selecting on of the cards from their screen. The card is highlighted red to indicate the server is processing the vote. Once the vote was placed successfully the card is highlighted green. You will now see a card with a question mark (?) above that members name in your session view. Until the poll is completed and everyone has voted, members can still change their mind. They can retract their vote by pressing on the selected card again or simply select a different card.

## Poll Completed
Once every member placed his vote, the poll is closed and the cards are flipped. At this time the stopwatch also stops and shows the overall estimation time. If the team directly reached a consensus, all cards are highlighted green to indicate a successful estimation. Otherwise the highest and lowest estimations are highlighted in red. The team members with the highlighted cards should now explain their decision. After all arguments were heared, you can simply restart the poll by clicking Start. This process is usually repeated until the team agres on a value.

After you completed the first poll, the statistics are enabled. Statistics are shown in the table on the bottom left of the session view and are updated with every completed poll. You can enable and disable individual values depending on your interests.

## Wrapping up
Once you are finished with the tasks for your next sprint or when the meeting is over, there is no need to close the session or "sign out". Simply close the window and go along with the rest of your day. If you estimate reguarly in the same team constilation you can bookmark your session as well as each member login and return anytime.
28 changes: 0 additions & 28 deletions src/css/scrumonline.css
Original file line number Diff line number Diff line change
Expand Up @@ -311,32 +311,4 @@ div.issue-list {
border-width: 1px 0;
border-style: dotted;
border-color: rgba(255, 255, 255, 0.7);
}

/* Styling of sponsors */
footer div.sponsors {
margin-left: 10%;
max-width: 80%;
}
div.sponsors a, span {
margin: 5px;
}
div.sponsors a img {
height: 40px;
}
/* Donors */
div.donors>div {
margin: 10px;
display: inline-block;
vertical-align: top;
}
div.message {
font-style: italic;
max-width: 200px;
margin-bottom: 5px;
}
div.donor {
width: 100;
text-align: center;
font-weight: bold;
}
6 changes: 0 additions & 6 deletions src/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -80,12 +80,6 @@
<?php $indexPage->render(false) ?>
</div>

<!-- Footer contains sponsors -->
<footer class="page-footer font-small">
<h3>Sponsored by</h3>
<?= Sponsor::renderFooter() ?>
</footer>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-route.min.js"></script>
Expand Down
6 changes: 0 additions & 6 deletions src/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,12 +94,6 @@ scrum.app.config(
controllerAs: 'member',
pageTrack: '/member'
})
.when('/sponsors', {
templateUrl: 'sponsors.html',
})
.when('/impressum', {
templateUrl: 'impressum.html',
})
.when('/removal', {
templateUrl: 'removal.html',
})
Expand Down
74 changes: 0 additions & 74 deletions src/sponsors.php

This file was deleted.

22 changes: 9 additions & 13 deletions src/templates/home.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,17 @@
?>
<!-- Introduction -->
<div class="row">
<article class="col-xs-12">
<article class="col-xs-12 col-lg-10 col-lg-offset-1">
<p>
<h2>Scrum Online</h2>
Welcome to my open source Planning Poker&reg; web app. Use of this app is free of charge for everyone. As a scrum master just start
a named session and invite your team to join you. It is recommended to display the scrum master view on the big screen
(TV or projector) and let everyone else join via smartphone. To join a session just enter the id displayed in the
heading of the scrum master view.
Welcome to my open source Planning Poker® web app. Use of this app is free of charge for everyone. As a scrum master just start a named session
and invite your team to join you. It is recommended to display the scrum master view on the big screen (TV or projector) and let everyone else
join via smartphone. To join a session just enter the id displayed in the heading of the scrum master view or use the QR-Code.
</p>

<p>
Developing, maintaining and hosting this application costs personal time and money. Almost 20.000 users access the application
each month to perform over 28.000 polls. This increase in traffic will exceed the current hosting soon and requires additional
funding. I would also like to setup mirrors around the world for comparable loading times. To keep the page ad-free, I am asking
for your help. If you would like to support my efforts and help keep the lights on, you can either donate trough the button below
or <a target="_blank" href="https://github.com/Toxantron/scrumonline#sponsoring">become an official sponsor</a>.
Developing, maintaining and hosting this application costs personal time and money. If you would like to support my efforts and help keep the
lights on, you can either donate through the button below or <a href="https://scrumpoker.online/sponsors">become an official sponsor</a>.
</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
Expand All @@ -29,10 +25,10 @@
</div>

<div class="row">
<h2 class="col-xs-12">Create or join a session</h2>
<h2 class="col-xs-12 col-lg-10 col-lg-offset-1">Create or join a session</h2>

<!-- Create session panel -->
<div class="col-sm-6 col-xs-12" ng-controller="CreateController as create">
<div class="col-xs-12 col-sm-6 col-lg-5 col-lg-offset-1" ng-controller="CreateController as create">
<div class="panel panel-default">
<div class="panel-heading">Create session</div>
<div class="panel-body">
Expand Down Expand Up @@ -75,7 +71,7 @@
</div>

<!-- Join session panel -->
<div class="col-sm-6 col-xs-12" ng-controller="JoinController as join">
<div class="col-xs-12 col-sm-6 col-lg-5" ng-controller="JoinController as join">
<div class="panel panel-default">
<div class="panel-heading">Join session</div>
<div class="panel-body">
Expand Down
65 changes: 0 additions & 65 deletions src/templates/impressum.html

This file was deleted.

14 changes: 0 additions & 14 deletions src/templates/sponsors_view.php

This file was deleted.

2 changes: 0 additions & 2 deletions src/templates/templates.php
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,6 @@ public static function getAll()
new Template("default_source.html", "templates/default_source.html"),
new Template("add_source.html", "templates/add_source.html"),
new Template("member.html", "templates/member.php"),
new Template("sponsors.html", "templates/sponsors_view.php", "Sponsors"),
new Template("impressum.html", "templates/impressum.html", "Impressum"),
new Template("removal.html", "templates/removal.html"),
new Template("404.html", "templates/404.html")
];
Expand Down

0 comments on commit 32ff20b

Please sign in to comment.