Files
step-competition/QUICKSTART.md
2025-10-20 15:38:42 +02:00

133 lines
3.0 KiB
Markdown

# 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.