Code Monkey home page Code Monkey logo

march-madness-calcutta's People

Contributors

burke1791 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

march-madness-calcutta's Issues

Setup Travis CI

Setup the auto build and deploy to firebase hosting.

Setup coveralls for running tests

Create a bracket view

For now, the bracket UI will only load for March Madness and similarly-shaped tournaments.

Seed Group Settings

Add a settings page that allows league creators and admins to create seed groups. Page should be view-only for regular league members.

Minor QoL and aesthetic changes

Add to this as you find items needing addressed - will be closed and a new one opened each month.

  • Shrink the rows in the list of auction teams on the left side in order to fit more on the page

Generate a unique "invite" URL

Upon league creation, generate a unique URL that league owners can send to their friends to join the league.

Eventually deprecate the join by name and password process.

Should the URLs be one-time use and time-boxed? Should we allow league creators to specify how many invites the URL is for?

Refactor Axios calls to be more DRY

Refactor the axios calls such that we don't need to manually type the headers that accompany ALL requests. Specifically thinking about x-cognito-token

Navigation context loading incorrect league data

When the navigation context saves data to local storage, it will sometimes give the local storage preference over the natural navigation data. This results in the incorrect league page being loaded.

Steps to reproduce:

  1. Navigate to a league home page
  2. Close the browser tab
  3. In a new tab go to the calcutta home page
  4. Click on any league other than the one used in step 1 - this sometimes results in the site loading data for the league loaded in step 1

Password reset

Implement password reset and forgot password functionality - this should have been done before releasing to anyone.

Fix refresh redirect to landing page

If a user refreshes the page, the routing logic will redirect to either the landing page or the home page - depending on the auto auth race condition.

Implement logic that waits for an auth response before redirecting.

Polish the auction page layout

The UI on the auction page is horrendous. Need uniform spacing and box sizes, AND flexibility for different screen sizes.

Bid Buttons Disabled (Race Condition)

If someone bids when the clock is almost at zero, sometimes a race condition will keep the clock going, but lock everyone out from bidding.

The source of truth (I believe) is the clock, so we need to prevent the bid buttons from being disabled in this situation.

Authentication error handling

Implement error handling for authentication when a user tries to create an account with an email address that already exists.

Fix visual bugs

Catchall issue for minor bugs encountered while testing or during general use

  • Refactor the UI to be responsive
  • The four cards in leaguehome can resize independently on different screen sizes
  • Fix "prizepool: $NaN" on auction page for a fresh auction
  • Fresh account triggers endless load on home page
  • Fix the UX of the landing page.
  • Rename the "Tax" row in the MyTeams table to say "Entry Fee" when it's covering the entry fee.
  • Reset the custom bid entry field to zero after a team is sold.
  • Disable the bid buttons when an item is sold
  • Member page: endless load when user has no teams

Add content to league home page

Primary header: {League Name}
Secondary header: {Tournament Name}

Four cards across the top: number of users in the league, league's prizepool, number of games remaining, my max payout.

Two tables: Standings (same as the current table, possibly with additional columns), Upcoming games

Undo bid button

Add an "Undo Bid" button to the auction actions group. This will dramatically help when people fat finger a bid value.

Implement the context API

Use the context API for all data downloaded by leagueService, authService, and auctionService.

Also need to refactor existing context to use the skeleton

  • leagueContext
  • authContext
  • auctionContext
  • settingsContext

Break up league home component

It is responsible for too much. Potentially break it into four components: the headers, cards, standings, upcoming games.

First task is to store data points like leagueId and tournamentId as global vars in context.

Auction roll call

We are adding a roll call prior to beginning an auction in order to make sure everyone is present and ready to go.

  • change the "Open Auction" button to hit the "initiateRollCall" endpoint
  • roll call will bring up a modal for everyone to confirm their presence; view will look different for creator/admins
  • reproduce the chat window in the roll call modal so people can communicate, but also allow users to dismiss the modal after verifying attendance
  • creator/admins will have a button that can force-start the auction without everyone in attendance, if they want

Auction admin buttons disappear after refresh

The user's "role" in each league is downloaded on the main page and passed in to child components. The "role" id is what determines whether or not the auction admin buttons are rendered. When a user refreshes while in a league, React loses the "role" id and thus defaults to not loading the admin buttons.

Add a separate call in the overall League component to download this and other "metadata" about the league. This is dependent on rearchitecting the back end to microservices.

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.