Git Product home page Git Product logo

retrospective's People

Contributors

halprin avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

retrospective's Issues

Spike - investigate logging

Look into logging for Python. Create follow on story to implement logging based on what was found in this story.

Enable TTL on DynamoDB

DynamoDB can automatically delete items in the database based on a date/time. This is called TTL. Implement this such that retrospectives are deleted a month after they are created.

Better separate frontend from backend

Currently the frontend is cordoned off in the frontend directory, but the backend is split across multiple directory and files that are in the top level directory. This is messy. Cordon off the backend under a single, monolithic directory.

Spruce up the Join frontend component

The Join frontend component doesn't work or is incorrect. Fix it such that...

  • A user must be able to join a retrospective.
  • A user must be directed to the View component upon joining the retrospective.
  • A user must be able to use a /join/<uuid> URL to pre-populate the ID field.

De-duplicate validation logic in views

Nearly all the view methods have at least one of the following checks...

  • The retrospective exists.
  • That the user is an administrator.
  • That the user is valid.
  • That the retrospective is on a specific step.

Create a generic construct for all of this.

Revisit CORS and allowed hosts

Look at the ALLOWED_HOSTS and CORS_ORIGIN_ALLOW_ALL (and other possible CORS variables) and determine what they should be for dev and prod. Create stories to implement these changes.

Ability to delete a user

Be able to remove a user from the retrospective. Must be the person him or herself or an admin. When a user is deleted the admin is given ownership of the deleted user's issues. If the admin is deleted, another random user is made the admin (and given the former admin's issues).

Project ideas

  • Features
    • Ability to break ties between issues once in results phase.
    • Make votes weighted. First vote is most important and the last vote is the least important.
    • No need for ready button once in results phase.
    • Timer to help timebox issue discussion while on results phase.
    • Highlight current issue being discussed in results phase. Be able to advance to next issue which would grey out previous issue and highlight new current issue being discussed.
    • Added issues should appear at the top of the list and push the previously added issues down.
    • Ability to add notes to issues during the Results phase. Then be able to export a report of the retrospective.
  • Design
    • Move the name of the retrospective farther down from the navbar or shrink up the navbar.
    • Move the join link under the Administrator/Users dropdown button.
    • Thicken color borders around the two sections of issues.
    • Change Administration/Users and the pagination to using the primary color.

Deployment method

This application needs a method to deploy to production. It should be able to understand environments (like the development environment versus the production environment).

Ability to delete an issue

Delete an existing issue that was created. Must be the user him or herself that created the issue. The admin cannot delete other people's issues. Issues can only be deleted during the ADDING_ISSUES step.

Remove SQLite database

The SQLite database gets created whenever the application runs. Stop that from happening since we don't use it.

Internalize the number of votes remaining in the backend

The number of votes remaining during the voting phase is a frontend construct. This should be brought into the backend and enforced there. Start with three votes per person. Return an HTTP 4xx error when someone tries to use two many of their votes.

Update the retrospective view frontend live

Currently the retrospective updates its view every 10 seconds unless an action is performed. Change the architecture to use interrupts instead.

Poll but delay a response until something changes?
WebSockets?

HTTPS

Use HTTPS for all communication for the frontend and backend.

Support browser navigation

The application doesn't support the browser refresh, forward, and backward buttons. Add support for this mostly on the viewing of the retrospective page.

For example, forward and backward could move the retro phase in that direction if you're an admin. If you aren't an admin... investigate this.

If a user refreshed the view, put the user back where they left off as if nothing happened.

Ability to unvote for an issue

Currently, there is no way to unvote for an issue during the voting phase. You vote for an issue and there's no going back. Add the ability to rescind a vote during the voting phase. Any other phase will result in a 4xx HTTP status.

Block deletion of critical resources by Terraform

Terraform can be blocked from deleting a resource by putting a lifecycle policy on the resource. Identify the resources that should not, under any circumstances, be deleted, and apply the policy to them.

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.