Website for Brackt.com
Find a file
Claude 40e1ba22b8
Some checks failed
🚀 Deploy / 🧪 Test (pull_request) Failing after 2m52s
🚀 Deploy / ʦ🔍 Typecheck & Lint (pull_request) Successful in 1m30s
🚀 Deploy / 🐳 Build (pull_request) Has been skipped
🚀 Deploy / 🚀 Deploy (pull_request) Has been skipped
Fix sports.test.tsx timeout: replace img-rendering SportIcon mock with null stub
The previous fix mocked SportIcon to render <img> elements. In jsdom, those
images fail to load and schedule async error callbacks that can stall React's
act() settlement loop when the full suite runs under load, causing the test to
hit the 5000ms timeout intermittently.

Replace the async mock factory with a trivial synchronous stub that returns
null — no images, no async events. resolveSportIconUrl URL resolution is
already covered by its own unit tests, so no coverage is lost.

https://claude.ai/code/session_012ACmUs2vAwEF9jZu7Guos2
2026-06-09 23:12:34 +00:00
.claude Refactor league settings into per-section components (#379) 2026-05-05 14:19:50 -07:00
.forgejo/workflows Phase A: external HTTP cron jobs for snapshots, standings sync, and simulation (#79) 2026-06-08 07:42:14 +00:00
.opencode/plugins Add opencode oxlint plugin and UI refinements (#323) 2026-04-24 11:11:20 -07:00
.production-info Fix draft timer: broadcasts, increments, reconnect sync, overnight pause (#72) 2026-06-06 05:57:46 +00:00
.storybook New design (#309) 2026-04-23 13:14:55 -07:00
.vscode feat: add Sentry error monitoring (#132) 2026-03-10 23:35:33 -07:00
app Fix sports.test.tsx timeout: replace img-rendering SportIcon mock with null stub 2026-06-09 23:12:34 +00:00
cypress Fix oxlint warnings: no-shadow, consistent-function-scoping, no-non-null-assertion, and others (#196) 2026-03-21 10:59:51 -07:00
database Fix 5 code review issues in F1/IndyCar standings sync 2026-06-09 19:02:07 +00:00
docs Update infrastructure roadmap: Phase C uses Redis adapter not sticky sessions 2026-06-08 01:09:00 -07:00
drizzle Add Drizzle snapshot for migration 0119 2026-06-09 19:02:49 +00:00
plans Fix draft timer: broadcasts, increments, reconnect sync, overnight pause (#72) 2026-06-06 05:57:46 +00:00
public Fix robots.txt and sitemap issues from code review 2026-05-24 22:16:49 -07:00
scripts Add robots.txt and sitemap.xml.gz for SEO 2026-05-24 22:05:37 -07:00
server Phase A: external HTTP cron jobs for snapshots, standings sync, and simulation (#79) 2026-06-08 07:42:14 +00:00
test-fixtures/baselines chore: capture pre-migration baselines 2026-04-30 23:09:24 -07:00
.dockerignore Optimize CI pipeline: merge check jobs, remove docker install, improve layer caching 2026-05-31 21:37:01 -07:00
.env.example Phase A: external HTTP cron jobs for snapshots, standings sync, and simulation (#79) 2026-06-08 07:42:14 +00:00
.gitignore Fix robots.txt and sitemap issues from code review 2026-05-24 22:16:49 -07:00
.npmrc Migrate authentication from Clerk to BetterAuth (#324) 2026-04-24 22:00:49 -07:00
.nvmrc Optimize GitHub Actions CI/CD pipeline (#252) 2026-04-01 00:59:21 -07:00
.oxlintrc.json Replace console.* with structured logger, fix no-inferrable-types (closes #98) (#199) 2026-03-21 13:41:39 -07:00
AGENTS.md Docs update 2026-05-04 09:33:13 -07:00
BETTERAUTH_MIGRATION.md Migrate authentication from Clerk to BetterAuth (#324) 2026-04-24 22:00:49 -07:00
CLAUDE.md Docs update 2026-05-04 09:33:13 -07:00
components.json feat: add theme system with dark mode support and navbar component 2025-10-10 23:30:26 -07:00
cypress.config.js ci: add test job to GitHub workflow and setup testing dependencies 2025-10-21 12:47:11 -07:00
docker-compose.yml feat: add FIFA World Cup 48-team bracket template with group stage and projected scoring 2026-02-14 22:30:12 -08:00
Dockerfile Fix Docker build: copy root server.ts into build-env stage 2026-05-31 21:56:17 -07:00
drizzle.config.ts Add PgBouncer connection pooling support for Vultr managed PostgreSQL (#271) 2026-04-06 17:15:18 -04:00
instrument.server.mjs Block bot probe requests before routing (#444) 2026-05-18 11:17:18 -07:00
oxlint.json Add oxlint config and fix unicorn/no-array-sort violation 2026-05-21 17:01:02 -07:00
package-lock.json Add Cloudinary-backed avatar system (#385) 2026-05-06 14:47:37 -07:00
package.json Add robots.txt and sitemap.xml.gz for SEO 2026-05-24 22:05:37 -07:00
plan.md Add implementation plan for commissioner-without-team feature (#6) 2026-02-20 08:45:09 -08:00
react-router.config.ts Add oxlint linting setup with zero errors (#194) 2026-03-21 09:44:05 -07:00
README.md Initial commit from create-react-router 2025-10-10 23:04:50 -07:00
server.ts Decouple database migrations from server startup (#265) 2026-04-06 00:07:36 -04:00
TESTING.md ci: add test job to GitHub workflow and setup testing dependencies 2025-10-21 12:47:11 -07:00
tsconfig.json refactor: update import paths to use absolute paths for better clarity and maintainability 2025-10-24 21:20:19 -07:00
tsconfig.node.json Add oxlint linting setup with zero errors (#194) 2026-03-21 09:44:05 -07:00
tsconfig.server.json Add oxlint linting setup with zero errors (#194) 2026-03-21 09:44:05 -07:00
tsconfig.vite.json Add oxlint linting setup with zero errors (#194) 2026-03-21 09:44:05 -07:00
vite.config.ts New design (#309) 2026-04-23 13:14:55 -07:00
vitest.config.ts Fix test:run failing in CI due to missing Playwright browser (#246) 2026-03-30 14:42:23 -07:00
vitest.shims.d.ts Install Storybook with React Router Vite plugin fix, closes #229 (#243) 2026-03-29 15:20:48 -07:00

Welcome to React Router!

A modern, production-ready template for building full-stack React applications using React Router.

Features

  • 🚀 Server-side rendering
  • Hot Module Replacement (HMR)
  • 📦 Asset bundling and optimization
  • 🔄 Data loading and mutations
  • 🔒 TypeScript by default
  • 🎉 TailwindCSS for styling
  • 💾 PostgreSQL + DrizzleORM
  • 📖 React Router docs

Getting Started

Installation

Install the dependencies:

npm install

Development

Copy .env.example to .env and provide a DATABASE_URL with your connection string.

Run an initial database migration:

npm run db:migrate

Start the development server with HMR:

npm run dev

Your application will be available at http://localhost:5173.

Building for Production

Create a production build:

npm run build

Deployment

Docker Deployment

To build and run using Docker:

# For npm
docker build -t my-app .

# Run the container
docker run -p 3000:3000 my-app

The containerized application can be deployed to any platform that supports Docker, including:

  • AWS ECS
  • Google Cloud Run
  • Azure Container Apps
  • Digital Ocean App Platform
  • Fly.io
  • Railway

DIY Deployment

If you're familiar with deploying Node applications, the built-in app server is production-ready.

Make sure to deploy the output of npm run build

├── package.json
├── package-lock.json (or pnpm-lock.yaml, or bun.lockb)
├── server.js
├── build/
│   ├── client/    # Static assets
│   └── server/    # Server-side code

Styling

This template comes with Tailwind CSS already configured for a simple default starting experience. You can use whatever CSS framework you prefer.


Built with ❤️ using React Router.