Giter Club home page Giter Club logo

you-r-here's Introduction

you-R-here

An agile iteration demo helper

you-R-here helps agile iteration demos suck less.

Current Features

  • Integration with JIRA Agile
  • Integration with Target Process
  • Allow viewers to "follow along", showing the current user story/bug being demonstrated in real-time

Roadmap/Wishlist

  • More plugins! We would love to add any of the following:
    • TFS
    • Github issues
    • Huboard
    • Trello
    • Your great idea goes here!
  • WebRTC - Webcam/audio support
  • Multi-tenant
  • Better dashboard info
  • Your great idea goes here!

Getting started with you-R-here

Clone the repo and install the packages

git clone https://github.com/racingcow/you-R-here.git
cd you-R-here
npm install

app.config.js

app.config.js is required to configure the server.

Create app.config.js in the you-R-here root folder. Make a copy of the example file and season to taste.

cp app.config.example.js app.config.js

Example app.config.js:

app = {
	title: "You-R-Here",
	serverAddress: "http://localhost",
	serverPort: 8080,
	plugin: "targetprocess"
};
exports.app = app;

NOTE, you can only select one plugin and run it in the application. In the app.js config, if you want to use Jira, set the plugin: "jira"

Also we are not using targetprocess anymore.

List of Available Plugins

jira.config.js

jira.config.js provides required configuration for the TargetProcess plugin.

Create jira.config.js in the you-R-here plugins folder. Make a copy of the example file and season to taste.

cp jira.config.example.js jira.config.js

The status id values for doneStatus and inProgressStatus are found here: https://criticaltech.atlassian.net/rest/api/2/status

Example jira.config.js:

info = {
	username: "myusername",
	password: "mysecretpassword",
	orgName: "My Company",
	jiraBoardId: 1,
	host: "mycompany.atlassian.net",
	doneStatus: [5,6],
	inProgressStatus: [3],
	demoLabels: ['demo','demonstrable'],
	numSprints: 5,
	maxResults: 150
};
exports.info = info;

targetprocess.config.js

targetprocess.config.js provides required configuration for the TargetProcess plugin.

Create targetprocess.config.js in the you-R-here plugins folder. Make a copy of the example file and season to taste.

cp targetprocess.config.example.js targetprocess.config.js

Example targetprocess.config.js:

info = {
	username: "myusername",
	password: "mysecretpassword",
	host: "mycompany.tpondemand.com", // v. 0.3.11 host replaces url 
	orgName: "My Company", // v. 0.1.3
	format: "json",
	hostUrl: "https://mycompany.tpondemand.com", // v. 0.2.1 baseImageUrl --> hostUrl
	iterationSentinel: '\'My Project Name\'', // project name to use for list of iterations
	numIterations: 5 // number of iterations to display
};
exports.info = info;

Using you-R-Here

Launch you-R-here

Launch you-R-here to enjoy running your iteration demo!

[sudo] node you-R-here.js

Organizer - http://you-R-here-server/organizer

  • Enter your email address
    • we use your email address for Gravatar
  • Choose last day of iteration
  • Order the list of items
  • Select current item
  • Click `Shown' after an item has been demonstrated
  • Click 'No Demo' for any item you will not be demonstrating

Presenter - http://you-R-here-server/presenter

  • Enter your email address
    • we use your email address to filter the items assigned to you and for Gravatar
  • current item - shows the item currently being demonstrated
  • (default) all items - shows all items in this iteration demo
  • my items - shows items assigned to you

Spectator - http://you-R-here-server/

  • Enter your email address
    • we use your address for Gravatar (and uniqueness)
  • (default) current item - shows the item currently being demonstrated
  • all items - shows all items in this iteration demo

Contributing to you-R-here

you-r-here's People

Contributors

racingcow avatar ryoe avatar toannguyen83 avatar trhino avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

you-r-here's Issues

remove dependency on restler

We're not really using restler in a way that offers much advantage over straight up node http[s].request. Also, removing our use of restler makes it easier to move to async or some other promise/deferred lib.

Restler has already been removed from the JIRA plugin, we only need to remove from the Target Process plugin.

crash app when loading organizer page

if you go to organizer page and enter email address and hit OK on the dialog before the sprints load into the dropdown you will crash the app with this output in the console:

getMostRecentIterationBoundary
getMostRecentIterationBoundaryAsync
getSprintDetails: 5
getSprintDetails: 6
getSprintDetails: 7
getSprintDetails: 9
getSprintDetails: 11
getSprintDetails: 13
getSprintDetails: 14
getEntitiesForActiveIteration
chunck: {"errorMessages":["Sprint with id -1 does not exist or you do not have permission to view it."],"errors":{}}

undefined:0

^
SyntaxError: Unexpected end of input
    at Object.parse (native)
    at IncomingMessage.<anonymous> (/Users/ryoe/Projects/you-R-here/plugins/jira.js:58:40)
    at IncomingMessage.EventEmitter.emit (events.js:117:20)
    at _stream_readable.js:920:16
    at process._tickCallback (node.js:415:13)

JIRA plugin: handle sprints better

We need a way to get the list of sprints so we know the boundary date range of the current sprint. Also, need to be able to view previous sprints. Currently, we're showing the "open" sprint only.

JIRA plugin: images don't display in description

Screenshots linked/included in descriptions are not displayed.

Screenshots are added as attachments to JIRA, then referenced in the description using JIRA's markup !screenshot-filename.png!.

We need a way to "expand" !screenshot-filename.png! into a fully-qualified URL we can use for image source.

Bring back the Users list

We should show the users currently logged in the you-R-here session. The Users list has been hidden since UI changes to provide the "master-detail view".

separate items by priority

Not sure if this is a grouping, or css change, count of each priority group, or what. Just some sort of way to indicate blockers would be nice.

Fix "priority" in Target Process plugin

JIRA plugin has concept of "priority". Target Process plugin should do something similar with the "priority" of the item. This displayed on each list item and the header summary.

We should also show the current "status" (In Progress, Completed, etc) of the item. In Target Process, the "status" is the EntityState.

Do not display priority or status of Impediments.

These were both missed while working on #7

JIRA plugin not pulling back all items

This JQL in JIRA "status = Completed OR (status != Completed AND labels in (demo))" returns different results than the JIRA Plugin.

They should be equivalent, obviously.

Presenter "swap" broken for JIRA plugin

Presenters cannot swap/reorder their own items when using the JIRA plugin.

As noted in issue #2, part of the itemSwapped method is assuming that all item id are numbers. While this is true in Target Process, it is not the case in JIRA. In JIRA item id are all strings.

In JIRA plugin, show Sprint date range

Due to JIRA API it will take more than one call to get both the list of sprints and the associated sprint date range. However, this should be feasible now with async.js

you-R-here UI clean up

clean up some UI issue

Once logged in, the center content isn't dynamically fit in the center, thus causing the scrollbar at the furthest right
Login screen shows header and footer at the top.

So now fixed so that the ListItem and DetailsView all fitted at the center screen
The top and bottom banner are fixed

Note, this changes is utilizing css calc() to correctly calculate the height value when resizing the browser. IE is not well compatible, partially support IE9, full support IE 10 and 11. All Firefox / Chrome supported
http://caniuse.com/calc

Users list CSS issue

The "offscreen" users list is occupying space causing a horizontal scrollbar to appear. This issue was introduced by fix to #1

Need to look at e.srcElement usage

In some condition, firefox doesn't set the e.srcElement. See #24 for example.
There are other places that we're using e.srcElement that we need to look at.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.