# Quick Start Guide - Step Competition ## Get Running in 2 Steps ### 1. Start the Server ```bash cd /home/sascha/gitea/step-competition npm start ``` The server will start on **http://localhost:3060** ### 2. Import Your 48 Participants **Prepare Your CSV File:** Create a CSV with 3 columns: `team_name`, `participant_name`, `email` Example (see `sample_import.csv` for 48-person template): ```csv team_name,participant_name,email Team Alpha,Alice Johnson,alice@example.com Team Alpha,Bob Smith,bob@example.com Team Beta,Carol Williams,carol@example.com ``` **Import Steps:** 1. Open http://localhost:3060 2. On the "Log Your Steps" tab, scroll to "Admin: Bulk Import" 3. Select your CSV file 4. Click "Import CSV" 5. Done! All teams and participants are ready ## Using the App ### 3 Simple Tabs **1. Log Your Steps** - Select your team from dropdown - Select your name from filtered list (only shows your team) - See your personal stats and history on the right - Enter date and steps, click Submit **2. Team Standings** - See team rankings (total steps, avg per person) - See individual rankings (all 48 people) - Gold/silver/bronze highlighting for top 3 **3. Competition Stats** - Overall statistics cards - Team progress chart (cumulative over time) - Top 10 individuals bar chart - Team comparison pie chart ## Accessing via Tailscale Find your Tailscale IP: ```bash tailscale ip -4 ``` Share this URL with all participants: ``` http://YOUR_TAILSCALE_IP:3060 ``` For example: `http://100.64.1.2:3060` Everyone can access it from their phone or computer! ## Accessing via Local Network Find your local IP: ```bash hostname -I | awk '{print $1}' ``` Share this URL: ``` http://YOUR_LOCAL_IP:3060 ``` For example: `http://192.168.1.100:3060` ## Tips for Your 48-Person Competition 1. **Pre-Import Everyone**: Use the CSV import before launch day 2. **Test First**: Try the sample_import.csv to see how it works 3. **Mobile-Friendly**: Participants can log from their phones 4. **Easy Name Finding**: Team dropdown first, then name dropdown shows only that team's 6 people 5. **Personal History**: Each person sees their entries immediately after selecting their name 6. **Daily Reminders**: Send daily reminders to log steps 7. **Display Leaderboard**: Show the "Team Standings" tab on a monitor or TV ## Sample Data Want to test with fake data first? ```bash node sample-data.js ``` This creates 3 teams with 9 people and 7 days of step data. ## Troubleshooting **CSV won't import:** - Make sure first line has: `team_name,participant_name,email` - No spaces in the header row - Save as CSV, not Excel format **Can't find my name:** - Did you select your team first? - Names only show after team is selected - Check spelling matches the import **Port 3060 in use:** - Edit `src/server.js` line 8 to change port - Or: `PORT=3070 npm start` ## Resetting Everything ```bash rm step_competition.db npm start ``` This deletes all data and creates a fresh database. ## Need More Help? See the full [README.md](README.md) for complete documentation, API endpoints, and advanced features.