Initial commit of step-competition project
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
132
QUICKSTART.md
Normal file
132
QUICKSTART.md
Normal file
@@ -0,0 +1,132 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user