# StreamFlow IPTV - Documentation Index

Welcome to the StreamFlow IPTV documentation. This directory contains comprehensive guides and references for the application.

## 📚 Documentation Structure

### Core Documentation

1. **[SETUP.md](SETUP.md)** - Getting Started
   - Installation instructions
   - Initial configuration
   - First-time setup
   - Environment variables
   - Docker configuration

2. **[ARCHITECTURE.md](ARCHITECTURE.md)** - System Architecture
   - Technology stack overview
   - Backend architecture
   - Frontend architecture
   - Database schema
   - API design
   - Security features

3. **[BUILD.md](BUILD.md)** - Build & Deployment
   - Docker build process
   - PWA deployment
   - Android APK build instructions
   - Linux AppImage build instructions
   - Production deployment
   - Performance optimization

4. **[PROJECT_STRUCTURE.md](PROJECT_STRUCTURE.md)** - File Organization
   - Directory structure
   - File descriptions
   - Module organization
   - Code organization
   - Best practices

5. **[QUICK_REFERENCE.md](QUICK_REFERENCE.md)** - Quick Reference
   - Common commands
   - API endpoints
   - Component usage
   - Tips and tricks
   - Troubleshooting

### Design & Branding

6. **[LOGO_GUIDE.md](LOGO_GUIDE.md)** - Logo & Branding
   - Brand colors
   - PWA icons (all sizes)
   - Logo usage guidelines
   - Platform-specific icons
   - Icon generation tools

### Features

7. **[M3U_LIBRARY.md](M3U_LIBRARY.md)** - M3U Library Feature
   - Upload and store M3U files
   - File management (rename, delete)
   - Import to TV or Radio playlists
   - API endpoints
   - Database schema
   - Use cases and workflows

8. **[HARDWARE_ACCELERATION.md](HARDWARE_ACCELERATION.md)** - Hardware Acceleration
   - Intel Quick Sync setup
   - NVIDIA NVENC configuration
   - VAAPI support
   - Docker GPU integration
   - Performance tuning
   - Troubleshooting guide

## 🚀 Quick Start

New to StreamFlow? Start here:

1. Read [SETUP.md](SETUP.md) for installation
2. Review [ARCHITECTURE.md](ARCHITECTURE.md) to understand the system
3. Check [QUICK_REFERENCE.md](QUICK_REFERENCE.md) for common tasks
4. Refer to [BUILD.md](BUILD.md) when deploying

## 📖 Documentation by Use Case

### For Developers
- [ARCHITECTURE.md](ARCHITECTURE.md) - Understand the codebase
- [PROJECT_STRUCTURE.md](PROJECT_STRUCTURE.md) - Navigate the project
- [QUICK_REFERENCE.md](QUICK_REFERENCE.md) - Development workflow

### For Deployment
- [BUILD.md](BUILD.md) - Production builds
- [SETUP.md](SETUP.md) - Server configuration
- Docker configuration in root directory

### For Designers
- [LOGO_GUIDE.md](LOGO_GUIDE.md) - Branding assets
- Frontend theme files in `../frontend/src/theme.js`

### For End Users
- Main [README.md](../README.md) - Application overview
- Settings page in the application

## 🔧 Additional Resources

### Configuration Files
Located in the root directory:
- `docker-compose.yml` - Container orchestration
- `Dockerfile` - Multi-stage build configuration
- `.env.example` - Environment variables template
- `package.json` - Root package configuration

### Scripts
Located in `../scripts/`:
- `start.sh` - Start the application
- `stop.sh` - Stop the application

### Backend Code
Located in `../backend/`:
- `server.js` - Main application entry
- `routes/` - API endpoints
- `database/` - Database schema and models
- `middleware/` - Authentication and security
- `jobs/` - Background tasks
- `utils/` - Helper functions

### Frontend Code
Located in `../frontend/src/`:
- `components/` - Reusable React components
- `pages/` - Page-level components
- `store/` - State management (Zustand)
- `locales/` - Translations (EN, RO)
- `theme.js` - Material-UI theme configuration

## 📝 Contributing to Documentation

When updating documentation:

1. **Keep it organized** - Use the existing structure
2. **Be comprehensive** - Include examples and code snippets
3. **Stay current** - Update docs when code changes
4. **Use clear language** - Write for various skill levels
5. **Add links** - Cross-reference related documents

### Documentation Standards

- Use Markdown formatting
- Include code examples with syntax highlighting
- Add table of contents for long documents
- Use relative links for internal references
- Keep line length reasonable (80-120 chars)
- Use emojis sparingly for visual hierarchy

## 🆘 Getting Help

If you can't find what you're looking for:

1. Check the [QUICK_REFERENCE.md](QUICK_REFERENCE.md)
2. Review the relevant section above
3. Search within documentation files
4. Check code comments in source files
5. Refer to technology-specific documentation:
   - [React Docs](https://react.dev)
   - [Material-UI Docs](https://mui.com)
   - [Express.js Docs](https://expressjs.com)
   - [Docker Docs](https://docs.docker.com)

## 📅 Documentation Version

Last Updated: December 10, 2025  
Application Version: 1.0.0  
Documentation Format: Markdown

## 📂 File List

```
docs/
├── README.md (this file)        # Documentation index
├── ARCHITECTURE.md              # System architecture
├── BUILD.md                     # Build & deployment
├── LOGO_GUIDE.md                # Branding guide
├── PROJECT_STRUCTURE.md         # File structure
├── QUICK_REFERENCE.md           # Quick reference
├── SETUP.md                     # Setup instructions
└── README.txt                   # Original requirements
```

---

**Happy Streaming! 🎬**
