BikeControl (SwiftControl)
Use Zwift Click, Zwift Play, Shimano Di2, or any Bluetooth controller with MyWhoosh, Rouvy, Zwift, and more. Free to try on iOS, Android, Windows, and macOS.
A website for all of your fantasy league needs
Sports & fitnessGitHub @jjm3x3OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗X Factor League provides a space to create fantasy leagues for reality game shows. Currently, we support Amazing Race and Big Brother, with Survivor being in the works. The site runs on NextJS, React, and Redis, reading data from the relevant Wikipedia pages.
We have two key phrases that we use throughout the app:
This app requires setting a local environment variable. Here's how to set up this variable:
openssl rand -base64 32.env.development.local, create a variable named SESSION_SECRETIn order to test or develop on the backup cron you will need the following variables set:
CRON_SECRET=<can be anything when running locally>
AWS_ROLE_ARN=<ask @jjm3x3>
AWS_REGION="us-east-2"
S3_BUCKET_NAME="league-data-nonprod-backup"
npm run dev: Runs the development server. The development URL is http://localhost:3000.npm run seed:dev: Seeds the Redis development database. You will need development credentials. Ask [@jjm3x3] (https://github.com/jjm3x3) for help. Read seeding the db for more information.npm run seed:prod: Seeds the Redis production database. You will need production credentials. Ask [@jjm3x3] (https://github.com/jjm3x3) for help. Read seeding the db for more information.npm run test: Runs the unit tests for the app. These tests are written in Jest.npm run lint: Runs our linter, built in ESLint. If you want to autofix the problems, run npm run lint:fix.Since we do not have authentication or authorization on the site for now, all data stored in the backend has been stored in source
see leagueData and in our database. We have created two
new npm stages under the "scripts" section of package.json. They are seed:dev
and seed:prod, which will run the seedDb script.
.env* file.
vercel env pull in order to setup the build.vercel env pull .env.development.local in order to setup to run the seed:dev command.vercel env pull --environment production .env.production.local in order to setup to run the seed:prod command.seed:dev or seed:prod depending which you need.
This is a small section to get some ideas about how the site may be configured to work.
We have setup a 3rd tier "off-site" backup where we write all our key/value pairs to an S3 bucket. This process runs every day at 3pm UTC (7am PST)
note: this only backs up key/value pairs which have json values, it skips the rest.
Sometimes Wikipedia lists exits in separate placements even though they really happened in the same round, such as two separate tribal councils on the same day. A day override puts everyone who left on a given day into the same round. For now these can only be set by hand in a league's configuration, so if you are a "Show Admin" and feel a day override should be added for a round, contact @jjm3x3 with:
"parserOptions": { "dayOverrides": [11, 13] }
note: day overrides are only supported for Survivor leagues today. See the Survivor parser spec for exactly how they are applied.
Any user can navigate to our various read-only pages.
If you are a user who would like to create a league, first you need to have an account.