Add comprehensive documentation for LeagueLedger
- Created architecture overview in development/architecture.md - Added installation guide in getting-started/installation.md - Developed user guide with detailed instructions in user-guide/overview.md, user-guide/teams.md, user-guide/qr-codes.md - Implemented social login setup documentation in social_login_setup.md - Updated index.md to include links to new documentation sections - Configured mkdocs.yml for site structure and theme - Added requirements.txt for documentation dependencies
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
# LeagueLedger User Guide
|
||||
|
||||
Welcome to the LeagueLedger User Guide. This section provides detailed instructions on how to use LeagueLedger as an end user.
|
||||
|
||||
## Getting Started as a User
|
||||
|
||||
### Creating an Account
|
||||
|
||||
To use LeagueLedger, you'll first need to create an account:
|
||||
|
||||
1. Navigate to the [LeagueLedger homepage](http://localhost:8000)
|
||||
2. Click on the "Sign Up" or "Register" button
|
||||
3. Fill in the required information:
|
||||
- Username
|
||||
- Email address
|
||||
- Password
|
||||
4. Complete the verification process through the email sent to your address
|
||||
5. Log in with your new credentials
|
||||
|
||||
### Logging In
|
||||
|
||||
You can log in using:
|
||||
- Your username and password
|
||||
- Social login (if configured by your administrator) via Google, GitHub, Microsoft, and other supported providers
|
||||
|
||||
## Core Features
|
||||
|
||||
### User Dashboard
|
||||
|
||||
After logging in, you'll see your dashboard with:
|
||||
|
||||
- Your personal points totals
|
||||
- Teams you're a member of
|
||||
- Recent activities and achievements
|
||||
- Upcoming events
|
||||
- Quick access to common actions
|
||||
|
||||
### Teams
|
||||
|
||||
Teams are the core organizational unit in LeagueLedger:
|
||||
|
||||
- **Joining Teams**: Find teams through search or receive invitations
|
||||
- **Creating Teams**: Start your own team and invite others
|
||||
- **Team Management**: View team statistics, achievements, and members
|
||||
|
||||
### QR Codes and Points
|
||||
|
||||
Points in LeagueLedger are typically awarded through QR codes:
|
||||
|
||||
- **Scanning QR Codes**: Use the scan feature to capture QR codes at events
|
||||
- **Points History**: Track all your earned points and achievements
|
||||
- **Team Points**: View how your contributions affect team standings
|
||||
|
||||
### Events
|
||||
|
||||
LeagueLedger tracks various events:
|
||||
|
||||
- **Upcoming Events**: See what events are scheduled
|
||||
- **Event Registration**: Sign up for events individually or as a team
|
||||
- **Event Attendance**: Check in to events using QR codes
|
||||
|
||||
### Leaderboards
|
||||
|
||||
Track standings and achievements:
|
||||
|
||||
- **Individual Leaderboards**: See how you rank among all participants
|
||||
- **Team Leaderboards**: View team rankings
|
||||
- **Event-specific Leaderboards**: Standings for particular events
|
||||
|
||||
## User Settings
|
||||
|
||||
### Profile Management
|
||||
|
||||
Customize your experience through the profile settings:
|
||||
|
||||
1. Navigate to "My Account" or "Settings"
|
||||
2. Update your:
|
||||
- Profile picture
|
||||
- Personal information
|
||||
- Email preferences
|
||||
- Notification settings
|
||||
|
||||
### Account Security
|
||||
|
||||
Manage your account security:
|
||||
|
||||
- Change your password
|
||||
- Enable/disable social login connections
|
||||
- View active sessions
|
||||
|
||||
## Navigation Guide
|
||||
|
||||
### Main Menu
|
||||
|
||||
The main menu provides access to all major features:
|
||||
|
||||
- **Dashboard**: Your personal overview
|
||||
- **Teams**: Access to teams you belong to
|
||||
- **Events**: Upcoming and past events
|
||||
- **QR Scanner**: Tool to scan QR codes
|
||||
- **Leaderboards**: Overall standings
|
||||
- **Profile**: Your personal settings
|
||||
|
||||
### Mobile Navigation
|
||||
|
||||
On mobile devices, the menu is accessible through the hamburger icon (≡) in the top corner.
|
||||
|
||||
## Getting Help
|
||||
|
||||
If you encounter any issues while using LeagueLedger:
|
||||
|
||||
- Check the FAQ section
|
||||
- Contact your organization's administrator
|
||||
- Submit a support request through the "Help" section
|
||||
|
||||
## Next Steps
|
||||
|
||||
For more detailed information about specific features, please refer to the following guides:
|
||||
|
||||
- [User Accounts](user-accounts.md): Detailed account management information
|
||||
- [Teams](teams.md): Complete team management guide
|
||||
- [QR Codes](qr-codes.md): Everything about the QR code system
|
||||
- [Points & Achievements](points-and-achievements.md): How points and achievements work
|
||||
- [Leaderboard](leaderboard.md): Understanding the leaderboard system
|
||||
- [Events](events.md): Comprehensive events guide
|
||||
@@ -0,0 +1,241 @@
|
||||
# QR Codes System
|
||||
|
||||
The QR code system is a core feature of LeagueLedger, enabling easy point attribution and event participation tracking. This guide explains how QR codes work in the system and how to use them effectively.
|
||||
|
||||
## Overview
|
||||
|
||||
LeagueLedger's QR code system allows organizers to:
|
||||
|
||||
- Create point-valued QR codes that users can scan
|
||||
- Group codes into sets for specific events or purposes
|
||||
- Track redemption and usage statistics
|
||||
- Print codes for physical distribution
|
||||
|
||||
Users can scan these codes to:
|
||||
|
||||
- Earn points for themselves or their team
|
||||
- Check in to events
|
||||
- Claim achievements
|
||||
- Verify attendance
|
||||
|
||||
## QR Code Types
|
||||
|
||||
LeagueLedger supports several types of QR codes:
|
||||
|
||||
### Point Value Codes
|
||||
|
||||
These codes represent specific point values that are awarded when scanned:
|
||||
|
||||
- **Standard Points**: Fixed point values (e.g., 5, 10, 25 points)
|
||||
- **Variable Points**: Point values that may fluctuate based on factors like time, location, or number of scans
|
||||
- **Team-Specific Points**: Codes that only award points to specific teams
|
||||
|
||||
### Functional Codes
|
||||
|
||||
These codes trigger specific actions in the system:
|
||||
|
||||
- **Check-In Codes**: For event attendance verification
|
||||
- **Achievement Codes**: Unlock specific achievements when scanned
|
||||
- **Registration Codes**: Link to team registration or event signup
|
||||
- **Information Codes**: Open detailed information about an event or challenge
|
||||
|
||||
## Scanning QR Codes
|
||||
|
||||
### Mobile Scanning
|
||||
|
||||
To scan a QR code using a mobile device:
|
||||
|
||||
1. Log in to LeagueLedger on your mobile browser
|
||||
2. Navigate to the "Scan" option in the menu
|
||||
3. Allow camera permissions if prompted
|
||||
4. Point your camera at the QR code
|
||||
5. The system will automatically detect and process the code
|
||||
6. A confirmation screen will display the points awarded or action taken
|
||||
|
||||
### Desktop Scanning
|
||||
|
||||
For desktop users with webcams:
|
||||
|
||||
1. Log in to LeagueLedger
|
||||
2. Click on the "Scan QR Code" option in the navigation menu
|
||||
3. Allow camera permissions when prompted
|
||||
4. Position the QR code in front of your webcam
|
||||
5. The system will process the code once detected
|
||||
|
||||
### Upload Scanning
|
||||
|
||||
If you have a QR code image file:
|
||||
|
||||
1. Go to the "Scan QR" page
|
||||
2. Select the "Upload QR Code Image" option
|
||||
3. Choose the image file from your device
|
||||
4. Submit the image for processing
|
||||
|
||||
## Creating QR Codes (Administrators)
|
||||
|
||||
Administrators can create QR codes through the admin panel:
|
||||
|
||||
### Creating Individual QR Codes
|
||||
|
||||
1. Navigate to the Admin Panel > QR Codes
|
||||
2. Click on "Create New QR Code"
|
||||
3. Fill in the required information:
|
||||
- Point value
|
||||
- Description
|
||||
- Redemption limit (how many times it can be scanned)
|
||||
- Expiration date (if applicable)
|
||||
- Team restrictions (if applicable)
|
||||
4. Click "Generate Code"
|
||||
5. The new QR code will be displayed and added to the database
|
||||
|
||||
### Creating QR Code Sets
|
||||
|
||||
For organizing multiple codes together:
|
||||
|
||||
1. Go to Admin Panel > QR Codes > QR Sets
|
||||
2. Select "Create New Set"
|
||||
3. Provide a name and description for the set
|
||||
4. Choose the number of codes to generate in this set
|
||||
5. Configure the point values (fixed, random, or custom distribution)
|
||||
6. Set any common properties (expiration, redemption limits)
|
||||
7. Generate the set
|
||||
|
||||
### Printing QR Codes
|
||||
|
||||
To print physical copies of QR codes:
|
||||
|
||||
1. Go to Admin Panel > QR Codes or QR Sets
|
||||
2. Select the code(s) you wish to print
|
||||
3. Click "Print QR Codes"
|
||||
4. Choose the print format:
|
||||
- Standard layout
|
||||
- Compact grid
|
||||
- Labels
|
||||
- Individual cards
|
||||
5. Configure printing options (size, labels, etc.)
|
||||
6. Click "Generate Printable PDF"
|
||||
7. Print the generated document
|
||||
|
||||
## Managing QR Codes
|
||||
|
||||
### Monitoring Usage
|
||||
|
||||
Track QR code usage through the Admin Panel:
|
||||
|
||||
1. Go to Admin Panel > QR Codes
|
||||
2. View the list of codes with usage statistics
|
||||
3. Click on a specific code for detailed redemption history
|
||||
4. See who scanned the code, when, and how many points were awarded
|
||||
|
||||
### Deactivating Codes
|
||||
|
||||
To disable a QR code:
|
||||
|
||||
1. Navigate to Admin Panel > QR Codes
|
||||
2. Find the code you wish to deactivate
|
||||
3. Click "Edit" or select the code
|
||||
4. Toggle the "Active" status to inactive
|
||||
5. Save changes
|
||||
|
||||
The code will remain in the system for record-keeping but can no longer be redeemed.
|
||||
|
||||
### Modifying Codes
|
||||
|
||||
To change a QR code's properties:
|
||||
|
||||
1. Go to Admin Panel > QR Codes
|
||||
2. Select the code to modify
|
||||
3. Click "Edit"
|
||||
4. Update the desired properties
|
||||
5. Save changes
|
||||
|
||||
!!! warning "Active Codes"
|
||||
Modifying the point value or redemption rules of already-distributed codes may cause confusion for users. Consider creating new codes instead of changing existing ones.
|
||||
|
||||
## Best Practices
|
||||
|
||||
### Security
|
||||
|
||||
- **Regenerate Codes Regularly**: Create new QR codes for each event to prevent reuse
|
||||
- **Limit Redemptions**: Set appropriate scan limits to prevent abuse
|
||||
- **Verify Location**: For important events, consider enabling location verification
|
||||
- **Monitor Unusual Activity**: Check for patterns that might indicate QR code sharing
|
||||
|
||||
### Organization
|
||||
|
||||
- **Meaningful Names**: Use descriptive names for QR sets and codes
|
||||
- **Color Coding**: Consider printing different point values on different colored paper
|
||||
- **Tracking Identifiers**: Include visible IDs on printed codes for easy reference
|
||||
- **Backup Copies**: Maintain digital backups of all generated codes
|
||||
|
||||
### Distribution
|
||||
|
||||
- **Strategic Placement**: Place higher-value codes in less obvious locations
|
||||
- **Staffed Stations**: For high-value codes, consider having staff present
|
||||
- **Time-Limited Availability**: Make codes available only during specific periods
|
||||
- **Progressive Difficulty**: Structure code placement so finding codes gets progressively harder
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
#### QR Code Not Scanning
|
||||
|
||||
If a code isn't being recognized:
|
||||
|
||||
- Ensure adequate lighting
|
||||
- Hold the device steady and at an appropriate distance
|
||||
- Make sure the code isn't damaged or obscured
|
||||
- Try using the image upload option instead
|
||||
|
||||
#### Points Not Awarded
|
||||
|
||||
If scanning succeeds but points aren't awarded:
|
||||
|
||||
- Check if the user is logged in
|
||||
- Verify if the code has reached its redemption limit
|
||||
- Check if the code has expired
|
||||
- Confirm the user hasn't already scanned this code
|
||||
|
||||
#### Printing Problems
|
||||
|
||||
For issues with printed QR codes:
|
||||
|
||||
- Ensure printer resolution is adequate (300 DPI minimum recommended)
|
||||
- Avoid scaling codes to very small sizes
|
||||
- Print test codes and verify they scan correctly before mass production
|
||||
- Use high-contrast printing (black on white background)
|
||||
|
||||
## Use Cases and Examples
|
||||
|
||||
### Hunt/Challenge Events
|
||||
|
||||
Create a scavenger hunt by placing QR codes throughout a venue:
|
||||
|
||||
- Place codes with varying point values in different locations
|
||||
- Create clues that lead participants to code locations
|
||||
- Track progress and award bonus points for completing the full hunt
|
||||
|
||||
### Attendance Tracking
|
||||
|
||||
Use QR codes for verifying attendance:
|
||||
|
||||
- Generate unique check-in codes for each event
|
||||
- Place codes at event entrances
|
||||
- Have participants scan on arrival
|
||||
- Generate attendance reports from the admin panel
|
||||
|
||||
### Reward Programs
|
||||
|
||||
Implement a progressive reward system:
|
||||
|
||||
- Issue QR codes for completing certain tasks
|
||||
- Create achievement sets that unlock when specific codes are collected
|
||||
- Offer special rewards for collecting complete sets
|
||||
|
||||
## Next Steps
|
||||
|
||||
- [Team Management](teams.md): Learn how teams accumulate and manage points
|
||||
- [Events](events.md): How to integrate QR codes with events
|
||||
- [Points & Achievements](points-and-achievements.md): More about the points system
|
||||
- [QR Code Management](../administration/qr-code-management.md): Advanced administration of QR codes
|
||||
@@ -0,0 +1,300 @@
|
||||
# Teams
|
||||
|
||||
Teams are a core feature of LeagueLedger, allowing users to form groups that compete and collaborate. This guide explains how to create, join, and manage teams within the system.
|
||||
|
||||
## Teams Overview
|
||||
|
||||
In LeagueLedger, teams provide a way for users to:
|
||||
|
||||
- Collaborate toward common goals
|
||||
- Compete against other teams
|
||||
- Share resources and achievements
|
||||
- Track collective progress
|
||||
|
||||
Each team has:
|
||||
|
||||
- A unique name and profile
|
||||
- A team owner (creator by default)
|
||||
- Team members with different roles
|
||||
- A team points total (sum of members' contributions)
|
||||
- Team-specific achievements and stats
|
||||
|
||||
## Creating a Team
|
||||
|
||||
### Basic Team Creation
|
||||
|
||||
To create a new team:
|
||||
|
||||
1. Log in to your LeagueLedger account
|
||||
2. Navigate to the "Teams" section from the main menu
|
||||
3. Click the "Create New Team" button
|
||||
4. Fill in the required information:
|
||||
- Team name (unique within the system)
|
||||
- Short description
|
||||
- Team logo (optional)
|
||||
5. Select team visibility:
|
||||
- Public: Visible to all users
|
||||
- Private: Visible only to members and invitees
|
||||
6. Choose join settings:
|
||||
- Open: Anyone can join
|
||||
- Request: Users can request to join
|
||||
- Invite-only: Only invited users can join
|
||||
7. Click "Create Team"
|
||||
|
||||
You'll automatically become the team owner with full administrative privileges.
|
||||
|
||||
### Team Settings
|
||||
|
||||
After creating a team, you can configure additional settings:
|
||||
|
||||
1. Go to your team page
|
||||
2. Click on "Team Settings" (visible to team owners and admins)
|
||||
3. Customize options such as:
|
||||
- Banner image
|
||||
- Team biography
|
||||
- Contact information
|
||||
- Social media links
|
||||
- Team rules or guidelines
|
||||
|
||||
## Joining Teams
|
||||
|
||||
### Finding Teams to Join
|
||||
|
||||
To discover teams you might want to join:
|
||||
|
||||
1. Navigate to the "Teams" section
|
||||
2. Click on "Browse Teams" or "Join Team"
|
||||
3. Browse available teams with options to:
|
||||
- Search by name or keywords
|
||||
- Filter by various criteria
|
||||
- Sort by size, activity, or points
|
||||
4. Click on any team to view its details
|
||||
|
||||
### Joining an Open Team
|
||||
|
||||
For teams with "Open" join settings:
|
||||
|
||||
1. View the team details page
|
||||
2. Click the "Join Team" button
|
||||
3. You'll immediately be added as a member
|
||||
|
||||
### Requesting to Join
|
||||
|
||||
For teams with "Request" join settings:
|
||||
|
||||
1. View the team details page
|
||||
2. Click "Request to Join"
|
||||
3. Optional: Add a short message to the team owner
|
||||
4. Submit your request
|
||||
5. Wait for approval from a team admin or owner
|
||||
6. You'll receive a notification when your request is approved or denied
|
||||
|
||||
### Joining via Invitation
|
||||
|
||||
If you receive a team invitation:
|
||||
|
||||
1. Check your notifications or email for the invitation
|
||||
2. Click the invitation link
|
||||
3. Review the team details
|
||||
4. Click "Accept" to join or "Decline" to refuse
|
||||
|
||||
## Team Roles and Management
|
||||
|
||||
### Team Roles
|
||||
|
||||
LeagueLedger teams have a hierarchy of roles:
|
||||
|
||||
- **Owner**: The team creator with full control
|
||||
- **Admin**: Can manage members and some team settings
|
||||
- **Member**: Regular team participant
|
||||
- **Guest**: Limited temporary access (optional feature)
|
||||
|
||||
### Team Member Management
|
||||
|
||||
As a team owner or admin, you can manage team members:
|
||||
|
||||
1. Go to your team page
|
||||
2. Click on "Manage Members"
|
||||
3. From this panel, you can:
|
||||
- Invite new members
|
||||
- Remove existing members
|
||||
- Change member roles
|
||||
- Review join requests
|
||||
- Send team announcements
|
||||
|
||||
### Transferring Ownership
|
||||
|
||||
To transfer team ownership:
|
||||
|
||||
1. Go to "Team Settings" > "Advanced"
|
||||
2. Select "Transfer Ownership"
|
||||
3. Choose a team member to become the new owner
|
||||
4. Confirm the transfer
|
||||
|
||||
!!! warning "Irreversible Action"
|
||||
Transferring ownership cannot be undone. The new owner will have complete control over the team.
|
||||
|
||||
## Team Activities
|
||||
|
||||
### Team Points
|
||||
|
||||
Teams earn points when members:
|
||||
|
||||
- Scan QR codes
|
||||
- Complete challenges
|
||||
- Participate in events
|
||||
- Earn achievements
|
||||
- Contribute through other scoring actions
|
||||
|
||||
The team leaderboard reflects the cumulative points of all team members.
|
||||
|
||||
### Team Achievements
|
||||
|
||||
Teams can unlock special achievements based on:
|
||||
|
||||
- Total team points milestones
|
||||
- Full team participation in events
|
||||
- Completing special team challenges
|
||||
- Consistent activity over time
|
||||
|
||||
Team achievements are displayed on the team profile and contribute to the team's prestige.
|
||||
|
||||
### Team Events
|
||||
|
||||
Teams can participate in events together:
|
||||
|
||||
1. Find an event in the "Events" section
|
||||
2. Register as a team (by team owner/admin)
|
||||
3. Coordinate team member participation
|
||||
4. Earn team points through event activities
|
||||
|
||||
## Team Communication
|
||||
|
||||
### Team Chat
|
||||
|
||||
Teams have access to a built-in chat system:
|
||||
|
||||
1. Go to your team page
|
||||
2. Click on the "Team Chat" tab
|
||||
3. Send messages visible to all team members
|
||||
4. Share updates, strategies, or coordinate activities
|
||||
|
||||
### Announcements
|
||||
|
||||
Team owners and admins can make official announcements:
|
||||
|
||||
1. Go to "Manage Members"
|
||||
2. Select "Create Announcement"
|
||||
3. Write your message
|
||||
4. Choose notification options
|
||||
5. Publish to all members
|
||||
|
||||
## Advanced Team Features
|
||||
|
||||
### Team Statistics
|
||||
|
||||
View detailed team performance:
|
||||
|
||||
1. Go to your team page
|
||||
2. Select the "Statistics" tab
|
||||
3. Explore metrics such as:
|
||||
- Points over time
|
||||
- Member contributions
|
||||
- Achievement progress
|
||||
- Event participation
|
||||
- Comparison with other teams
|
||||
|
||||
### Team Challenges
|
||||
|
||||
Some events feature special team challenges:
|
||||
|
||||
- Collaborative tasks requiring multiple team members
|
||||
- Inter-team competitions
|
||||
- Timed challenges with team scoring
|
||||
- Special team-only QR codes
|
||||
|
||||
### Private Team QR Codes
|
||||
|
||||
Team owners can create team-specific QR codes:
|
||||
|
||||
1. Go to "Team Settings" > "QR Codes"
|
||||
2. Select "Create Team QR"
|
||||
3. Configure the code settings
|
||||
4. Generate and share with team members only
|
||||
|
||||
These codes may offer bonus points or special achievements when scanned by team members.
|
||||
|
||||
## Leaving or Dissolving a Team
|
||||
|
||||
### Leaving a Team
|
||||
|
||||
To leave a team you're a member of:
|
||||
|
||||
1. Go to the team page
|
||||
2. Click on "Team Settings" or "Manage Membership"
|
||||
3. Select "Leave Team"
|
||||
4. Confirm your decision
|
||||
|
||||
!!! note "Team Owner"
|
||||
If you're the team owner, you must first transfer ownership before leaving.
|
||||
|
||||
### Dissolving a Team
|
||||
|
||||
To completely dissolve a team (owner only):
|
||||
|
||||
1. Go to "Team Settings" > "Advanced"
|
||||
2. Select "Dissolve Team"
|
||||
3. Read the warning about this irreversible action
|
||||
4. Enter your password to confirm
|
||||
5. The team will be permanently removed
|
||||
|
||||
## Best Practices
|
||||
|
||||
### For Team Owners
|
||||
|
||||
- Establish clear team goals and guidelines
|
||||
- Regularly communicate with team members
|
||||
- Recognize individual contributions
|
||||
- Delegate responsibilities to trusted admins
|
||||
- Keep team information and graphics up-to-date
|
||||
|
||||
### For Team Members
|
||||
|
||||
- Regularly check team announcements
|
||||
- Coordinate with teammates for events
|
||||
- Share strategies for finding and scanning QR codes
|
||||
- Help recruit quality new members
|
||||
- Represent your team positively in competitions
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
#### Can't Find a Team
|
||||
|
||||
If you can't locate a specific team:
|
||||
- Check if you spelled the team name correctly
|
||||
- The team might be set to private visibility
|
||||
- The team may have been dissolved
|
||||
|
||||
#### Can't Join a Team
|
||||
|
||||
If you're unable to join:
|
||||
- The team might be invite-only
|
||||
- Your request might be pending approval
|
||||
- You may have reached the maximum number of teams you can join
|
||||
- The team might have reached its member capacity
|
||||
|
||||
#### Points Not Showing for Team
|
||||
|
||||
If points aren't appearing:
|
||||
- There may be a delay in point calculation
|
||||
- Verify that your individual points are displaying correctly
|
||||
- Check that you're properly affiliated with the team
|
||||
|
||||
## Next Steps
|
||||
|
||||
- [QR Codes](qr-codes.md): Learn how to earn points through QR codes
|
||||
- [Points & Achievements](points-and-achievements.md): Understand the points system
|
||||
- [Events](events.md): Discover how to participate in events as a team
|
||||
- [Team Management](../administration/team-management.md): For administrators managing multiple teams
|
||||
Reference in New Issue
Block a user