# Tutorials

Step-by-step tutorials to help you learn Quagga2 by building real examples. These are learning-oriented guides designed to help beginners get hands-on experience.

## Available Tutorials

### [Your First Barcode Scan](first-scan.md) ⭐ Start Here
Build a complete barcode scanner web app from scratch. You'll learn how to:
- Set up HTML structure
- Initialize Quagga2
- Handle camera permissions
- Process detected barcodes
- Display results to users

**Time**: 15 minutes | **Difficulty**: Beginner

### [Decoding Static Images](static-image.md)
Learn to decode barcodes from image files instead of camera feeds. Perfect for:
- Photo upload features
- Batch processing
- Server-side Node.js applications
- Testing without a camera

**Time**: 10 minutes | **Difficulty**: Beginner

### [Using with React](react-integration.md)
Integrate Quagga2 into a React application. Covers:
- Component lifecycle management
- Handling cleanup
- State management
- Common pitfalls and solutions

**Time**: 20 minutes | **Difficulty**: Intermediate

### [Using with Node.js](node-usage.md)
Use Quagga2 in server-side Node.js applications. Learn to:
- Process images from filesystem
- Handle image buffers
- Batch decode multiple images
- Build CLI tools

**Time**: 15 minutes | **Difficulty**: Intermediate

## Prerequisites

Before starting these tutorials, you should have:

- Basic HTML/JavaScript knowledge
- A text editor
- A web server (or ability to run `npx serve`)
- A device with a camera (for live scanning tutorials)

## Tutorial Approach

These tutorials follow a **learning-by-doing** approach:

1. **Complete examples** - Each tutorial provides full working code
2. **Progressive complexity** - Start simple, add features incrementally
3. **Hands-on practice** - Type the code yourself to build muscle memory
4. **Real-world scenarios** - Build things you'll actually use

## Need Help?

If you get stuck:

- Check the [API Reference](../reference/api.md) for method details
- Review the [Configuration Guide](../reference/configuration.md)
- Ask in [Gitter Chat](https://gitter.im/quaggaJS/Lobby)
- Search [GitHub Issues](https://github.com/ericblade/quagga2/issues)

## Contributing

Found a bug in a tutorial or have an idea for a new one? [Open an issue](https://github.com/ericblade/quagga2/issues) or submit a pull request!

---

**Next**: Start with [Your First Barcode Scan](first-scan.md) →
