Giter VIP home page Giter VIP logo

inovex / scrumlr.io Goto Github PK

View Code? Open in Web Editor NEW
227.0 11.0 44.0 158.24 MB

Webapp for collaborative online retrospectives

Home Page: https://scrumlr.io

License: MIT License

HTML 0.06% TypeScript 48.54% SCSS 17.80% Shell 0.03% Dockerfile 0.09% Makefile 0.05% Go 33.01% PLpgSQL 0.23% JavaScript 0.19%
collaboration no-login-web-apps online-tool retrospectives responsive single-page-app webapp agile communication golang

scrumlr.io's Introduction

scrumlr.io

Online retrospectives made easy

scrumlr.io is an online collaboration tool that helps teams reach new heights. Start your first retrospective or collaborative session in an instant - no registration required and completely free and open source.


GitHub GitHub release (latest by date) GitHub Workflow Status

scrumlr.io

Features

  • ๐Ÿ” Retrospectives made easy.
  • ๐Ÿค Collaborate with your team.
  • ๐Ÿ’ฏ Free & open-source.
  • ๐Ÿ•ต๏ธ No registration required.
  • ๐ŸŒ“ Dark mode.
  • ๐Ÿ“ฑ Responsive.
  • ๐Ÿ‘… Localization (i18n) support.
  • ๐Ÿ“‹ Export to PDF, JSON, CSV and Markdown.

Contributing

Collaborators and beloved friends

Thanks to all our users, collaborators, contributors & supporters! โค๏ธ

brandstetterm Resaki1 Benjosh95 Lennart01 bitionaire Kraft16 miiho brandeins1403 benedicthomuth schwehn42 SelinaBuff cdreier cdreier Dominik-Weinzierl andiKandi jdolinga busilina doppelreim alphapfote orangehelicopter theexiile1305 theinrichs cdreier dotcs timengel louiskroener NNKKOO CronJorian dbaderINO MarvinRoth blxckOxymoron Quasilius-Starlord mateo-ivc

... and many more!

Sponsors

A special shout-out goes to inovex for all the support and the opportunity to realize this project! ๐Ÿ™Œ Contact us if you look for the best IT service provider out there.

inovex

License

See the LICENSE file for licensing information.

scrumlr.io's People

Contributors

alphapfote avatar andikandi avatar benedicthomuth avatar benjosh95 avatar berndkaiser avatar bitionaire avatar blxckoxymoron avatar brandstetterm avatar busilina avatar codebrauer avatar coehne avatar cronjorian avatar dependabot[bot] avatar depfu[bot] avatar dominik-weinzierl avatar doppelreim avatar hikhvar avatar jdolinga avatar laila-rin avatar lennart01 avatar louiskroener avatar m-njot-singh avatar marvinroth avatar mateo-ivc avatar nnkkoo avatar quasilius-starlord avatar resaki1 avatar schwehn42 avatar seschi98 avatar timengel 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  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  avatar  avatar

scrumlr.io's Issues

New homepage

As a first time user or website visitor I want to get to learn about Scrumlr and the feature list of the tool.

Content

  • Name & logo of the tool and short description (e.g. "Collaborative online retrospectives")
  • Overview of (unique) product features
    • 1-Click Board creation / join
    • No registration required
    • Shared screen / simultaneous edit
    • Guided mode
      • Phases
      • Focus cards
    • Votes
    • Secure after #8 and #9
    • Print version (CSS) of board available, e.g. for PDF creation
    • Responsive
  • Legal notices

To be discussed

  • Scroll effects / animations?
  • Testimonials?
  • ...

Examples

I personally like the homepage of InVsion:

InVision homepage

Broken edit backdrop on mobile

The edit backdrop looks buggy on mobile

position: fixed is not working if one of the parent elements has a transform op. The mobile version of the columns has transform applied so that one can slide through the columns.

/scrumlr Slack Slash Command

So you are in a Slack channel and have the spontaneous idea for a lean coffee or a retrospective or a desire to create a Scrumlr Board for a certain meeting, let me introduce to you: /scrumlr

/scrumlr start leancoffee Brainstorming ideas for Scrumlr Slackbot
/scrumlr start simpleretro Retro Sprint 47
/scrumlr start startstopcontinue Retro Sprint 48
/scrumlr start kalm Starfish Feedback Max Mustermann
/scrumlr start madsadglad Team-Retro for incident 911
/scrumlr remind

[optional - maybe step 2]
/scrumlr list - active Scrumlr boards of the current user
-- maybe one can delete boards/entries from that list
/scrumlr start leancoffee - notice no name is supplied, use the current channel name as the board's name

Host in private network

If we use a Node.js webserver for our Docker image (e.g. express) all config properties in src/config.ts can be set dynamically at runtime and can be changed without a build. This will allow the execution of the app within a private network.

Currently, all resources are hosted statically with the help of a NGINX server within the docker container.

Board admin verifies user join requests

As a board owner I want to verify a user before he or she joins the board. An unaccepted user may not see the board data (secured by a firebase rule).

When a user wants to join a board, he will remain on a loading screen while he is not accepted by the board owner.

The board owner must be prompted and accept or decline the user join request.

Stop watching presence

Watching /presence in Board.tsx will lead to problems when many users are connected to the app. This should be moved within a smaller scope (e.g. a specific board)

Legal notice

All mandatory legal notices must be added.

  • Reachable from every site
  • Reachable with at most 2-clicks
  • Reachable via text-links in the same language as the website (Images are not allowed for a11y reasons)
  • Reachable without necessity for JavaScript (not important without SSR)

Mandatory

  • Imprint
    • Full name & address
    • E-Mail & Tel.
  • Privacy policy / Data protection notice
    • "Who receives the collected information", "Information about third-party sites that might collect information": Analytics
    • Purpose of data collections
    • List of recipients (countries)
    • Information about Cookies
  • Terms and Conditions of Use
    • "How to credit content and images from the site"
    • ...

Optional

  • Copyright Notices on third-party content (if present)
  • Disclaimer (if external links are present)
  • Cookie consent

Examples

Trello

Sources

Tooltip Name of User

Hover on the icon of a user doesn't work. The name displays only on the frame.

Add new card to the end of list

When I add an card during the presentation of the cards at the first step, my card is added to the top. And because we present the cards from top to bottom my card is not anymore presented.

If my card would be added to the bottom, it would be presented like I added it in time.

Different Countdown times displayed

When in a remote meeting with a shared screen I was able to see that the countdown times were different for the presenter and my local machine.

Due to restrictions I cannot upload a screenshot of the meeting.

  • My browser displayed: 4:55
  • Presenter's browser displayed: 3:44

Highlight Drag&Drop areas

Users are usually are not aware how and where cards can be dragged & dropped. Availbility must be highlighted

Open non-existing board

Opening a non-existing board (deleted?) board will lead to following error and the user will be stuck on the loading screen.

console.js:35 TypeError: Cannot read property 'filter' of undefined
    at t.render (ColumnView.tsx:94)
    at s (react-dom.production.min.js:130)
    at beginWork (react-dom.production.min.js:133)
    at o (react-dom.production.min.js:161)
    at a (react-dom.production.min.js:161)
    at u (react-dom.production.min.js:162)
    at _ (react-dom.production.min.js:169)
    at w (react-dom.production.min.js:168)
    at h (react-dom.production.min.js:167)
    at p (react-dom.production.min.js:165)
    at Object.enqueueSetState (react-dom.production.min.js:108)
    at l.o.setState (react.production.min.js:12)
    at l.onStateChange (connectAdvanced.js:205)
    at Object.l [as dispatch] (createStore.js:172)
    at Object.dispatch (<anonymous>:1:38399)
    at dispatch (<anonymous>:1:27776)
    at Board.container.tsx:235

Encrypted board data

As a user I want to keep my retro secret. The card text must be encrypted (e.g. with AES256) and the encryption key should be generated on the client and shared via the board URL (e.g. as a hash parameter).

Phase splash not displayed correctly on narrow screen

The phase splash carousel isn't display correctly on narrow (mobile) screens. The width calculation seems to messed up and a width of 88px is set inline on the carousel container. Maybe it's a react-swipe issue?

Automatic scaled font size

It would be cool if you could scale the font size while focusing a card.

Problem:
I cannot see the whole text of my focused card. No way to scroll etc.
image

Expected output:
I can see the whole text of a card or have any other way to see the text.

Highlight focus mode

Users (board admins) usually are not aware of the focus mode. It should be highlighted in a different way

Mode selection screen

At the moment the board modes can be selected via a dropdown on the homepage. It would be better to introduce an intermediate mode selection screen for following reasons:

  • Paging through different board modes
  • Board modes / use cases can be explained
  • Extended board settings can be made available on this intermediate screen

Bucket Estimation mode

The Admin can define multiple swimlanes with a header.
New cards will be added only to the first column (=backlog).

During the session the users drag&drop the cards between the swimlanes.

Optional: Cards have a counter that increases everytime they are rearranged.
Optional: Once cards are moved outside the backlog they can be rearranged only once. Another move will automatically put them into a special "conflict" column.

Blank page after working on the cards for a while

We are a group of ~ 20 people. We added cards and were about to vote. Then suddenly everybody only got a blank white page.
MY dev console in chrome shows me this when I F5:

Uncaught TypeError: Cannot read property 'type' of undefined
at Function.t.mapStateToProps [as mapToProps] (ColumnView.container.ts:25)
at r (wrapMapToProps.js:41)
at Function.r.mapToProps (wrapMapToProps.js:50)
at r (wrapMapToProps.js:41)
at selectorFactory.js:22
at Object.run (connectAdvanced.js:21)
at s.u.initSelector (connectAdvanced.js:180)
at new Connect(t) (connectAdvanced.js:118)
at ji (react-dom.production.min.js:2904)
at so (react-dom.production.min.js:3397)
at po (react-dom.production.min.js:3583)
at Ko (react-dom.production.min.js:4646)
at Yo (react-dom.production.min.js:4667)
at Ra (react-dom.production.min.js:5055)
at ka (react-dom.production.min.js:5022)
at Oa (react-dom.production.min.js:4957)
at Zo (react-dom.production.min.js:4883)
at Object.enqueueSetState (react-dom.production.min.js:2867)
at s.w.setState (react.production.min.js:72)
at s.u.onStateChange (connectAdvanced.js:205)
at y (redux.js:213)
at query.js:121
at index.cjs.js:5271
at B (index.cjs.js:798)
at t.raise (index.cjs.js:10985)
at t.raiseQueuedEventsMatchingPredicate_ (index.cjs.js:10925)
at t.raiseEventsForChangedPath (index.cjs.js:10904)
at t.onDataUpdate_ (index.cjs.js:14598)
at e.onDataPush_ (index.cjs.js:13784)
at e.onDataMessage_ (index.cjs.js:13776)
at t.onDataMessage_ (index.cjs.js:12902)
at t.onPrimaryMessageReceived_ (index.cjs.js:12895)
at t.onMessage (index.cjs.js:12774)
at t.appendFrame_ (index.cjs.js:12304)
at t.handleIncomingFrame (index.cjs.js:12359)
at WebSocket.mySock.onmessage (index.cjs.js:12237)

Our board link is: https://scrumlr.io/#/board/-M3yjo2tFd47wB8FSgFV

Replace LESS

Replace Less by Sass or an CSS-in-JS framework.

The less compilation is pretty slow and a lot of rules can be cleaned up upon migration.

Replace gemnasium

Gemnasium was used as a dependency version checker but it was acquired by GitLab and closed. It should be replaced by a good alternative.

Show authors of cards

Show the user icon or the name of the card author on the cards.
This is optional and should be configurable within the settings.

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.