Giter Club home page Giter Club logo

poker's People

Contributors

dependabot[bot] avatar hiveer avatar hyjk2000 avatar just4fun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

poker's Issues

Display who clicks `Show` or `Hide`

Now every player can show or hide the result, we didn't distinguish scrum owner and regular players according to our initial engineering.

However, sometimes the new users want to try it out, which will show the unfinished voting and block our normal process.

Actually we recorded every action for users in our server logs, but our users want to display who show or hide the result in the UI at least.

I don't know which one I clicked

I need a flag indicate which one I selected but if I click somewhere other than story point the highlight will disappear now.

Tests for React components

Jest has been introduced with create-react-app together, I also found Jest has some advantages than Mocha, such as Jest has snapshot testing, and the execution performance for tests is better than Mocha.

So I'd like to create this issue here to note my investigation result, maybe some article links.

Add friendly warning/banner to user once there is new update for client

Basically there is no need to use service worker to serve assets since the poker is a simple project.

However, as a side project which is just for fun, I'm happy to embrace such new things.

Thanks to create-react-app, there is registerServiceWorker.js, and it's easy to know whether there is new update.

Once there is any change to data structure, I'd like to notice client user there is new update in addition to ensure our code is backward compatible like IFS49F/poker-server@60347c2.

Re-trigger voting animation

Background

No matter we show the result or not, it's better experience if we could know any player is re-voting.

Normal solutions

To restart animation, we have several approaches.

  • Use setTimeout to put the next state change into next tick of event loop
this.setState({ voted: false }, () => {
  setTimeout(() => this.setState({ voted: true }), 0);
});
  • Move voted out of <Card /> to destroy (voted=false) then re-build the DOM (voted=true)
{voted && <Card voted={voted} />}

Issues in poker

As for our poker, there are two kinds of cards.

  • Me

We could easily pass down a prop me={true} to <Card /> for indicating it's me, and check nextProps.score !== this.props.score in componentWillReceiveProps hook to indicate if I re-vote, then invoke one of the approaches above to restart animation.

  • Other players

To avoid knowing others' score before we show the result, poker server will return null for other players' score, that means we could not use nextProps.score !== this.props.score to indicate if other player re-vote. Without this if statement, other players' card will always re-animate even he/she doesn't re-vote but other actions trigger the whole state update.


Open this ticket here to discuss.

Thoughts for gaining more engagements

@hyjk2000 @hiveer @LeoLeoLei

Dear friends,

As you know, currently there are more and more teams using this poker tool in their scrum meetings, some of them have already used this tool for a long time.

According to our original plan, this tool will always be free but happy to see any donation. The reason to create this ticket here is not saying that there are less donation in last months, but I'd like to share more thoughts on what we could get from this project.

Based on the experience in my another free open source side project (the React Native app), I got following benefits.

  • Real users (Poker πŸŽ‰)
  • GitHub stars (Poker πŸŽ‰)
  • Positive feedbacks (Poker πŸ€”)

For the last item, we really got less feedback from our users, one of the reasons is that we didn't provide a way for users to give their feedbacks, we only have an Octocat banner at the top right.

For the RN app I created, I nearly received feedback from users every month, since I gave users entrance to provide their feedback (in app settings, and also created some posts in different forums to provide feedback way).

feedback

Do you think it will be useful if we give users a notification banner when they access a room? the behavior is similar like this package: https://fkhadra.github.io/react-toastify/ (we will create it by our own if you all agree with notification way).

notification

Open to discussion.

Optimistic update

Implement optimistic update for states to improve perceived speed.

Private use in company

The poker has been released last year. As far as I know, there are at least 3 teams in Active were using it.

As you know the poker is not stable sometimes, because the server is located out of China, so during last weeks, some managers asked me whether we could move the poker back to company. In this way I have no need to pay for the server and domain.

According to the license of poker, it's OK to fork it to other place, but to be honest, this is just side project which I can introduce any new tech stuff if I like, that said if one of our duties is to maintain the internal poker, seems like there is no fun.

I told the managers that feel free to fork the repo, but we will still maintain the one on GitHub. I'm also happy to be the sponsor for the server and domain, it's not big deal.

@hiveer - As project initiator
@hyjk2000 - As main maintainer
me - As sponsor

Just want to on the same page with you all.

A voting animation will stop another running one

Currently I'm not sure whether it's a bug caused by race condition or misoperation in redux store, but the experience for such behaviour is not good.

Created this issue as bug for tracking.

Indicate connection failure

In an event of Internet connection failure and WebSocket reconnection, indicate the user on the UI with a red banner describing the situation, like Slack does.

  • We have a problem connecting to the server, retrying in x seconds. Reconnect now

Vote gets removed when user disconnects

Since a large portion of our user base is on mobile devices which would sleep and disconnect from WebSocket, we should handle disconnections gracefully when the user already has a vote on screen. Instead of removing disconnected user from the room and clear their vote, it's better to defer the cleanup until the votes are cleared so votes are kept on screen even after the user is disconnected.

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.