# Letzshop Import Documentation

Welcome to the complete documentation for the Letzshop Import application - a comprehensive marketplace product import and management system built with FastAPI.

## What is Letzshop Import?

Letzshop Import is a powerful web application that enables:

- **MarketplaceProduct Management**: Create, update, and manage product catalogs
- **Shop Management**: Multi-shop support with individual configurations
- **CSV Import**: Bulk import products from various marketplace formats
- **Inventory Management**: Track inventory across multiple locations
- **User Management**: Role-based access control for different user types
- **Marketplace Integration**: Import from various marketplace platforms

## Quick Navigation

### 🚀 Get Started
- [**Installation Guide**](getting-started/installation.md) - Set up the application
- [**Quick Start**](getting-started/quickstart.md) - Get running in minutes
- [**Configuration**](getting-started/configuration.md) - Environment setup

### 📚 API Documentation
- [**Interactive API Docs**](http://localhost:8000/docs) - Swagger UI for live testing
- [**Alternative API Docs**](http://localhost:8000/redoc) - ReDoc interface
- [**API Overview**](api/index.md) - High-level API concepts
- [**Authentication Guide**](api/authentication.md) - Security and auth flows

### 📖 User Guides
- [**User Management**](guides/user-management.md) - Managing users and roles
- [**MarketplaceProduct Management**](guides/product-management.md) - Working with products
- [**CSV Import**](guides/csv-import.md) - Bulk import workflows
- [**Shop Setup**](guides/shop-setup.md) - Configuring shops

### 🧪 Testing
- [**Testing Guide**](testing/testing-guide.md) - Our testing standards and how to run tests
- [**Test Maintenance**](testing/test-maintenance.md) - Test suite maintenance

### 🔧 Development
- [**Architecture**](development/architecture.md) - System design overview
- [**Database Schema**](development/database-schema.md) - Data model documentation
- [**Troubleshooting**](development/troubleshooting.md) - How to troubleshoot
- [**Contributing**](development/contributing.md) - How to contribute

### 🚢 Deployment
- [**Docker Deployment**](deployment/docker.md) - Containerized deployment
- [**Production Setup**](deployment/production.md) - Production best practices

## Architecture Overview

```mermaid
graph TB
    Client[Web Client/API Consumer]
    API[FastAPI Application]
    Auth[Authentication Service]
    Products[MarketplaceProduct Service]
    Shops[Shop Service]
    Import[Import Service]
    DB[(PostgreSQL Database)]
    
    Client --> API
    API --> Auth
    API --> Products
    API --> Shops
    API --> Import
    Auth --> DB
    Products --> DB
    Shops --> DB
    Import --> DB
```

## Key Features

=== "MarketplaceProduct Management"
    - CRUD operations for products
    - GTIN validation and normalization
    - Price management with currency support
    - Category and attribute management
    - Bulk operations support

=== "Import System"
    - CSV file processing
    - Multiple marketplace format support
    - Validation and error reporting
    - Batch processing for large files
    - Import job tracking and status

=== "Multi-Shop Support"
    - Independent shop configurations
    - Shop-specific product associations
    - Inventory tracking per shop
    - Role-based shop access

=== "Security"
    - JWT-based authentication
    - Role-based access control (RBAC)
    - API key management
    - Input validation and sanitization
    - Rate limiting

## Technology Stack

- **Backend**: FastAPI, Python 3.10+
- **Database**: PostgreSQL with SQLAlchemy ORM
- **Authentication**: JWT tokens
- **Testing**: pytest with comprehensive test suite
- **Documentation**: MkDocs Material + FastAPI auto-docs
- **Deployment**: Docker, Docker Compose

## Getting Help

- **Issues**: [GitHub Issues](https://github.com/yourusername/letzshop-import/issues)
- **Discussions**: [GitHub Discussions](https://github.com/yourusername/letzshop-import/discussions)
- **API Testing**: Use the [Swagger UI](http://localhost:8000/docs) for interactive testing

---

Ready to get started? Head over to the [Installation Guide](getting-started/installation.md)!