halprin / retrospective Goto Github PK
View Code? Open in Web Editor NEWSoftware to help with sprint retrospectives
Home Page: https://retrospective.kendallp.net/
License: GNU General Public License v3.0
Software to help with sprint retrospectives
Home Page: https://retrospective.kendallp.net/
License: GNU General Public License v3.0
The Join frontend component doesn't work or is incorrect. Fix it such that...
/join/<uuid>
URL to pre-populate the ID field.Add the ability to vote for an existing issue.
Create a custom favicon icon for the frontend.
Today, sections available for a new issue is the unique set of sections across all the issues. AKA, you can make any section you want. Would it be better to be able to specify the set of sections before an issue is created? That would pull in what a valid section is into the backend from a frontend.
Deploying frontend
./deploy.sh: line 25: ng: command not found
The user-provided path ./dist/ does not exist.
Make it such that ng
is accessible and can execute.
The checkbox for every issue, during the voting phase, is at the bottom of each issue's horizontal area. It should be centered.
Pushes master
should deploy to production, not dev.
Use HTTPS for all communication for the frontend and backend.
During the results phase of the retrospective, sort the issues from highest vote getter to lowest vote getter. Decide if this sorting should be in the backend or frontend.
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.
The number of votes you had remaining is still visible when viewing the results. Remove it. There is no need for it to be there.
The actual viewing of a retrospective as it occurs is, for the most part, missing. Implement it.
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.
Currently, any change in Terraform get applied to dev and prod. Any changes should only apply to a specific environment.
Reformat the Terraform files to the standard.
Add the ability to group issues after they have been created.
Instead of using the Elastic Beanstalk supplied DNS name, use a real one and point it to the production environment.
Turn off the DEBUG
setting.
Test api.views.RetroIssueView
's post
method.
There's no easy way to tell if you are the administrator, know your name, and tell if you are ready. Add this ability to the ReST API.
Create the beginnings of a GUI for the application.
Using the dev and prod environment always seems to produce a 401 Unauthorized User is not valid
for getting the retrospective and adding an issue. There could be other endpoints affected by this.
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.
Add manage.py check --deploy --fail-level ERROR
to the CI build.
Nearly all the view methods have at least one of the following checks...
Create a generic construct for all of this.
Test api.views.RetroUserView
.
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).
SECRET_KEY
inside settings.py
must be secret. Either hide it or see if I even need it.
Terraform is at version 0.11.5. Update to using that.
Test api.models.RetroStep
.
Improvements will be made to the Join frontend component as part of #40. Migrate the improvements that apply to the Start component.
Sometimes deployments randomly fail with a timeout. Figure out why and stop it. Is it possible that it just takes a long time sometimes?
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?
Look at https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/ and create more stories where the application needs fixing.
Add a button to copy the frontend join link to the clipboard.
Chrome doesn't like the sub-protocol!
There is a state for a retro that allows grouping of issues. Remove it and clean-up the codebase.
Look into logging for Python. Create follow on story to implement logging based on what was found in this story.
The frontend doesn't look good in certain mobile environments. The smaller the screen, the weirder it looks.
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.
When a merge occurs to master
, a deployment should ensue.
Test api.views.RetroView
.
This application needs a method to deploy to production. It should be able to understand environments (like the development environment versus the production environment).
Run manage.py check --deploy
on the Django application. It will generate a list of issues for deployment. Create new issues for anything that needs to be fixed.
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.
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.
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.
The SQLite database gets created whenever the application runs. Stop that from happening since we don't use it.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.