madness's People
madness's Issues
better typescript listing: turn on eslint along with prettier
Delete user confirm not working
See discussion https://discuss.hotwired.dev/t/button-to-not-showing-the-data-confirm/2046
DHH says it's fixed in hotwired/stimulus-rails#29 but it doesn't seem to be.
Change login from link to code
the links are getting hijacked in iPhone sub-browsers. Make it a code to type in instead.
add favicon, apple and google bookmark logos
Move from Heroku to self-hosted deploy
- Set up Docker and Docker Compose
- #32
Add in capybara tests for react flows
Add ability for a user to set a public username
cleanup mutation errors typescript type
Look into using keyed redis
https://github.com/rails/kredis
Could be interesting to replace some high-use ActiveRecord attributes or to store the Tournament.
migrate user list to Heroku db
Ability to see bracket list but not details before tipoff
Might be interesting to allow users to see everyone who has brackets but not their picks before tipoff.
use hirefire?
Remove deprecated uses of DateTime in Ruby
Upgrade ruby, rails and various gems
Design improvements
- Update top header and nav: created logo in 2019 (on nas )
- Bracket list as table ... something better?
- Add team logos
- Mobile views for tourney/bracket
- non-hamburger menu for desktop
Authentication issues
"remember me" cookies don't seem persistent on safari. there is also the issue of the link being captured by gmail app. need to rethink general authentication and maybe move to a more traditional username/password model in devise. People would have to go through the "forgotten password" flow. Could possibly send out links next year with that imbedded.
Might also want a way to "sign up" but that must be approved by the admin. Would eliminate needing to invite people. Maybe a free-form text of "who invited you"
ToDo:
- set rememberable and timeoutable module config
- set validatable config
- Format Errors
- Forgotten password flow
Fix logout link
Currently signing out ends up as a noop:
16:59:59 web.1 | Can't verify CSRF token authenticity.
16:59:59 web.1 | Completed 422 Unprocessable Entity in 3ms (ActiveRecord: 0.4ms | Allocations: 1808)
16:59:59 web.1 | ActionController::InvalidAuthenticityToken (Can't verify CSRF token authenticity.)
Add rules, scoring, and payment
Documentation / notes
- Decisions: react, relay, found/farce, dart-sass, rebuild, rails 7
- Bitwise logic, what are the different slots, different calculations that are possible
- Faster scoring
- Sessions vs JWT
- Removing factories
- New tournament helpers in tests
- running seeds in test
- Admin dashboard setup and customization
- Stylesheets and style generation, use of Bourbon (without neat or bitters)
- Rails secrets (with master.key in password manager)
- use of Pundit with no guests
- user errors in GraphQL
- images in sass/rails (wood background)
- Move to typescript
- use of react hooks for AppContext
- moving tournament, teams, current user to AppContext
- disabling Turbolinks (why?)
- use of font awesome... downloaded all for sass and fonts in public
Add ability to save draft/incomplete bracket
On the bracket list, cross out eliminated final four teams
Move from esbuild to webpack
Relay still needs babel. Will still use js-bundling rails https://github.com/rails/jsbundling-rails
Move repetitive typescript functions to common modules / context
display all possibilities when in final four
add auto-updating of scores based on espn data
Make typescript more restrictive on null checks
Easier email tools for admin
Would like a set of email addresses to email:
- All users
- Users with no brackets
- Users with unpaid brackets
- Users that never logged in
Clean up authentication emails
Need better messaging on the authentication emails.
Remove tie breaker
The tiebreaker is not really used (and confuses people.) Remove it and just split the winnings in the event of a tie.
Improve authentication
- Better emails / messaging
- remove extra click to login
Allow admin to edit tournament
Admin team search broken
Some fields are virtual (seed, region) but the admin dashboard tries to search over them.
admin can clear tournament decision
Improve seeds to bulk set teams and slots
Setup CI/CD with GitHub actions
ensure only 1 elimination job is running at a time
upgrade esbuild to >0.17.0
There are changes to how live reload and watch work that are incompatible with the current setup. Came out in Jan 2023.
See:
Update bracket list for final state
After all games are played, remove "possible" finishes and points. Also don't cross out eliminated final four teams (maybe not show the final four teams at all?)
Simplify ruby objects on tournament tree
- Do not create/destroy tree on every change.
- Move to all static functions working on slot number.
- Remove all data from tournament that can be calculated
adjust graph to only have list of current users brackets regardless of admin
According to pundit admin can manage all brackets. This is still needed for the admin dashboard. However, for the user frontend, we should further scope down to the current user's brackets unless it's past tipoff.
reimplement eliminations
Rewrite eliminations calculations in Rust
There has been good development on Ruby and Rust interop. Look into speeding up elimination calculations using Rust.
Add in Sidekiq jobs
At a minimum for mailers. Other jobs (scores, elimination, etc.) as well.
deleting bracket does not redirect home properly
data adjustments before deploy
- Generate random passwords for current users
- downcase all emails in db
Move from Sidekiq to Faktory
Faktory allows for polygot workers. Would like to optimize some jobs using Go instead of Ruby. Moving to Faktory allows both Ruby and Go (and Rust) workers.
Cache bracket list response
Setup Deployment
- Stick with Heroku
- Need CDN for rails assets (or Cloudflare passthrough?)
- Email: sendgrid? GMail SMTP? Auth emails from another account?
For CDN, ensure things in public are there as well (web fonts, etc)
Make sweet-16 tournament virtual on backend
App monitoring
- Need error and performance monitoring (Sentry.io, Airbrake, New Relic?)
- Product monitoring? (Mixpanel / proxy)
There are self-hosted as well: GlitchTip
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.