A web application for managing fantasy football keeper selections. Team owners can select up to 3 players to keep for the next season, with encrypted storage of their selections.
-
Install dependencies
npm install
-
Configure environment
cp .env.example .env # Edit .env to set your preferences -
Add roster data Place your CSV roster files (e.g.,
ff2023rosters.csv) in the root directory -
Start the server
npm start
-
Access the application Open http://localhost:3000 in your browser
Roster CSV files should follow this format:
TEAM1,,TEAM2,,TEAM3,,... (team names separated by double commas)
Player,$,Player,$,Player,$,... (header row)
PlayerName1,Cost1,PlayerName2,Cost2,... (player data)
- Select your team from the dropdown
- Choose up to 3 keepers by checking the boxes
- Enter a password to encrypt your selections
- Submit your keepers
npm run decrypt <team-name> <password>The decrypt tool can automatically submit keeper selections to a fantasy draft tracker API:
npm run decrypt <team-name> <password> api=<version>Parameters:
<team-name>: Team name (matches owner name or team name from API)<password>: Password used to encrypt the selectionsapi=<version>: Starting version number for API submissions (e.g.,api=1)
Example:
npm run decrypt ADAM mypassword api=1What it does:
- Decrypts and displays your keeper selections
- Fetches current owners and players from the draft tracker API
- Matches your keepers with API player data
- Submits each keeper to the draft tracker with calculated prices
- Shows success/failure status for each submission
Requirements:
- Draft tracker API must be running and accessible
- Configure
API_BASE_URLin.env(defaults tohttp://localhost)
Run in development mode with auto-reload:
npm run devEdit .env file to configure:
PORT: Server port (default: 3000)CURRENT_YEAR: Which year's roster file to useDATA_DIR: Where to store application dataENCRYPTED_DIR: Where to store encrypted keeper filesLOG_FILE: Where to log password informationAPI_BASE_URL: Base URL for draft tracker API (default: http://localhost)