Ent modelsConversion from ufc struct to Ent modelBulk upsert of historical data (mage target)API: upcomingREQUIRES TESTINGMage: historical import (import:all and import:event XXXX)Add timestamps to events for when they happenedClean up multiple connection functions (and rollback function)Setup Chakra UI basicsBuild UI parity with old siteRefactor fightodds prompt+fuzzy-matcher into its own package, to be reused by tapologyCron to remove upcoming fights and events that are no longer "upcoming"- UI for upcoming event and fight info
Personal data mangling endpoint, hands back a CSVHow I like the data
Public data endpointCSVFor every upcoming fighter, one row for each past fightName, sig strikes, takedowns, knockdowns, control time, odds, score, date
Add date of previous fight to CSV data
- Logging
- Use React env vars to determine URL for both twirp and stat clients
- Add "last updated" info somewhere near the stat downlaod button
- "Fighter Alias" table to stash other names for fighters to bypass future similarity-based matches
- Fix layout on mobile
HTTPS redirect
Load in data from previous month (TODO: mage target)Handle upcoming events and fightsRegister upcoming fights and events, make new fighters as needed, wire in odds from odds siteWould be cool if this had some sort of "preview" output before committing to the DB
- API to update upcoming events and fights
- Make it an API endpoint and hit it on a cron?
Add "corner" to FightResult for a fighter, for visual consistency (Red left, Blue right)- Include venue information for events
- Use Grid to equally space the fighter result cards
For upcoming DB loadingWipe all Upcoming* records and re-create in a single transactionNot possible to "upsert" since upcoming fights have no unique identifier and the card is constantly changingTo associate fighters, go through these cases in orderIf tapology_id set on fighter and matches, done!Can tapology IDs change?If yes, maybe need to store just the number part of the id (e.g.123456-jon-doe-the-killa
vs123456
)DONT DO THIS: found at least one fighter with no number prefix, just their name as the id
If fuzzy match is above certain threshold, associate tapology_idElseIf automated process, create temporary fighter record (need bool on fighter schema)If mage task, prompt fuzzy match best optionsIf none, create temporary record