Bumps [@next/eslint-plugin-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next) from 13.4.19 to 14.0.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/vercel/next.js/releases"><code>@next/eslint-plugin-next</code>'s releases</a>.</em></p> <blockquote> <h2>v14.0.3</h2> <h3>Core Changes</h3> <ul> <li>Update React from 746890329 to 0e352ea01: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58279">#58279</a></li> <li>fix(turbopack): support middleware in src: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58218">#58218</a></li> <li>Update font data: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58317">#58317</a></li> <li>Replace custom Thenable type with native Promises: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58337">#58337</a></li> <li>fix(eslint): <code>next/script</code> <code>beforeInteractive</code> gives warning on appDir: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/51148">#51148</a></li> <li>fix: import antd from es in modularizeImports: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/57968">#57968</a></li> <li>fix(WellKnownErrorsPlugin): avoid compilation warnings array with empty items: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/57768">#57768</a></li> <li>Add experimental support for history.pushState and history.replaceState: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58335">#58335</a></li> <li>Fix: expected "catch all routes" are not matched in “parallel routes": <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58368">#58368</a></li> <li>fix: Don't reset shallow URL updates on prefetch: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58297">#58297</a></li> <li>fix: ensure batch values are sharable: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58315">#58315</a></li> <li>fix incorrect fetch cache handling: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58460">#58460</a></li> <li>turbopack: Don't error with legacy server actions boolean: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58416">#58416</a></li> <li>Update turbopack: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58408">#58408</a></li> <li>Upgrade vendored React: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58489">#58489</a></li> <li>Apply next/font to foreign code: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58461">#58461</a></li> <li>Turbopack: Use structured styled text in issue descriptions: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58156">#58156</a></li> <li>onHeaders updates for App Pages: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58410">#58410</a></li> <li>revalidate APIs should make route handlers dynamic: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58466">#58466</a></li> <li>remove optimistic navigation behavior when prefetch is false: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58413">#58413</a></li> <li>fix: set <code>x-forwarded-host</code> based on request: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58500">#58500</a></li> <li>Inline ChildProp: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58519">#58519</a></li> <li>Remove client only dynamic chunks from edge bundle : <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/56761">#56761</a></li> <li>tweak cache + revalidate fetch warning: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58505">#58505</a></li> </ul> <h3>Documentation Changes</h3> <ul> <li>remove example for router.events as it does not exist: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58286">#58286</a></li> <li>chore(docs): fix typo: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58344">#58344</a></li> <li>docs: Update runtime table: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58361">#58361</a></li> <li>Update 08-parallel-routes.mdx: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58393">#58393</a></li> <li>Docs: Update middleware example snippet: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58488">#58488</a></li> <li>update meta variable to metadata variable so that the meta data updat…: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58396">#58396</a></li> <li>Update 07-error-handling.mdx: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58236">#58236</a></li> <li>docs: Added Kinde auth provider: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58231">#58231</a></li> <li>Update index.mdx: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58210">#58210</a></li> <li>Make example of passing down a Server Action more clear: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/57972">#57972</a></li> <li>docs: Fix grammar in Styling section: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58071">#58071</a></li> <li>docs: Fix grammar in Client Components section: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58065">#58065</a></li> <li>docs: Fix grammar in Dynamic Rendering section: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58062">#58062</a></li> <li>Docs: fix grammatical issue in "Data Fetching Patterns" section: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58056">#58056</a></li> <li>Update 02-patterns.mdx: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58032">#58032</a></li> <li>Update 04-ci-build-caching.mdx - Add Jenkins: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58001">#58001</a></li> </ul> <h3>Example Changes</h3> <ul> <li>examples: Update Middleware for CSP: <a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/58300">#58300</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="391471b315"><code>391471b</code></a> v14.0.3</li> <li><a href="32875e4fe4"><code>32875e4</code></a> v14.0.3-canary.12</li> <li><a href="c8bfda4367"><code>c8bfda4</code></a> v14.0.3-canary.11</li> <li><a href="a5515693bc"><code>a551569</code></a> v14.0.3-canary.10</li> <li><a href="7281cd3fc4"><code>7281cd3</code></a> v14.0.3-canary.9</li> <li><a href="44613dc045"><code>44613dc</code></a> v14.0.3-canary.8</li> <li><a href="08e5424ddc"><code>08e5424</code></a> v14.0.3-canary.7</li> <li><a href="82821c7942"><code>82821c7</code></a> v14.0.3-canary.6</li> <li><a href="d7ade76ef8"><code>d7ade76</code></a> v14.0.3-canary.5</li> <li><a href="022cb25640"><code>022cb25</code></a> fix(eslint): <code>next/script</code> <code>beforeInteractive</code> gives warning on appDir (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/51148">#51148</a>)</li> <li>Additional commits viewable in <a href="https://github.com/vercel/next.js/commits/v14.0.3/packages/eslint-plugin-next">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bracket
Tournament system meant to be easy to use. Bracket is written in async Python (with FastAPI) and Next.js as frontend using the Mantine library.
It has the following features:
- Supports single elimination, round-robin and swiss formats.
- Build your tournament structure with multiple stages that can have multiple groups/brackets in them.
- Drag-and-drop matches to different courts or reschedule them to another start time.
- Various dashboard pages are available that can be presented to the public, customized with a logo.
- Create/update teams, and add players to teams.
- Create multiple clubs, with multiple tournaments per club.
- Swiss tournaments can be handled dynamically, with automatic scheduling of matches.
Preview
Quickstart
To quickly run bracket to see how it works, clone it and run docker-compose up:
git clone git@github.com:evroon/bracket.git
cd bracket
sudo docker-compose up -d
This will start the backend and frontend of Bracket, as well as a postgres instance. You should now
be able to view bracket at http://localhost:3000. You can log in with username test@example.org
and password aeGhoe1ahng2Aezai0Dei6Aih6dieHoo.
To insert dummy rows into the database, run:
sudo docker exec bracket-backend pipenv run ./cli.py create-dev-db
Setup
Database
First create a bracket cluster:
sudo pg_createcluster -u postgres -p 5532 13 bracket
pg_ctlcluster 13 bracket start
Subsequently, create a new bracket_dev database:
sudo -Hu postgres psql -p 5532
CREATE USER bracket_dev WITH PASSWORD 'bracket_dev';
CREATE DATABASE bracket_dev OWNER bracket_dev;
You can do the same but replace the user and database name with:
bracket_ci: for running testsbracket_prod: for a production database
The database URL can be specified per environment in the .env files (see config).
Read the full documentation about setting up Bracket in the docs.
Config
Copy ci.env to prod.env and fill in the values:
PG_DSN: The URL of the PostgreSQL databaseJWT_SECRET: Create a random secret usingopenssl rand -hex 32CORS_ORIGINSandCORS_ORIGIN_REGEX: Specify allowed frontend domain names for CORS (see the FastAPI docs)ADMIN_EMAILandADMIN_PASSWORD: The credentials of the admin user, which is created when initializing the database
Read more about configuration in the docs.
Running the frontend and backend for development
The following starts the frontend and backend for local development:
Frontend
cd frontend
yarn run dev
Backend
cd backend
pipenv install -d
pipenv shell
./run.sh
License
Bracket is licensed under AGPL-v3.0 See LICENSE



