burke1791 / march-madness-calcutta Goto Github PK
View Code? Open in Web Editor NEWA better way to participate in March Madness
A better way to participate in March Madness
When the user is inside the league component and refreshes the page, the navbar on the side always resets the highlighted item to the first one. Fix it.
Setup the auto build and deploy to firebase hosting.
Setup coveralls for running tests
Add a wiki page that lists each component and describes, at a high level, what they are responsible for
For now, the bracket UI will only load for March Madness and similarly-shaped tournaments.
Since travis is moving to a paid plan, move all of the build/deploy processes to github actions.
Add a settings page that allows league creators and admins to create seed groups. Page should be view-only for regular league members.
Add to this as you find items needing addressed - will be closed and a new one opened each month.
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?
The backend is changing to a microservices architecture, which will result in more than one BASE_URL for API endpoints.
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
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:
Implement password reset and forgot password functionality - this should have been done before releasing to anyone.
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.
The UI on the auction page is horrendous. Need uniform spacing and box sizes, AND flexibility for different screen sizes.
Connect the front end "Close Auction" button to the back end
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.
The span element inside the start and stop buttons is not handled properly by the click event.
https://css-tricks.com/slightly-careful-sub-elements-clickable-things/
Implement error handling for authentication when a user tries to create an account with an email address that already exists.
Catchall issue for minor bugs encountered while testing or during general use
Only applies to navigation within a league
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
Add an "Undo Bid" button to the auction actions group. This will dramatically help when people fat finger a bid value.
In the main table showing the leagues you belong to, only show leagues that are in-progress or in the initial state.
Move the completed leagues to a separate table, or hide them from view on the main page.
Use the context API for all data downloaded by leagueService, authService, and auctionService.
Also need to refactor existing context to use the skeleton
Just gets people into trouble.
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.
Use pubsub only with websockets.
Possibly create custom hooks for dropping data into context
Adding scope:
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 "Submit" button on the "Create League" form to a "Next" button.
Add a second form that provides customization options for the league:
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.
Convert the "Remaining Games" card to "Remaining Teams"
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.