# Directory Structure

## Overview
```
punimtag/
├── .notes/                      # Project notes and planning
│   ├── project_overview.md      # High-level project info
│   ├── task_list.md             # Task tracking
│   ├── directory_structure.md   # This file
│   └── meeting_notes.md         # Meeting records
│
├── src/                         # Source code
│   ├── __init__.py
│   ├── photo_tagger.py          # CLI entry point
│   ├── setup.py                 # Package setup
│   │
│   ├── core/                    # Business logic
│   │   ├── __init__.py
│   │   ├── config.py            # Configuration
│   │   ├── database.py          # Database manager
│   │   ├── face_processing.py  # Face recognition
│   │   ├── photo_management.py # Photo operations
│   │   ├── tag_management.py   # Tag operations
│   │   └── search_stats.py     # Search & analytics
│   │
│   ├── gui/                     # GUI components
│   │   ├── __init__.py
│   │   ├── dashboard_gui.py     # Main dashboard
│   │   ├── gui_core.py          # Common utilities
│   │   ├── identify_panel.py    # Identification UI
│   │   ├── auto_match_panel.py  # Auto-matching UI
│   │   ├── modify_panel.py      # Person editing UI
│   │   └── tag_manager_panel.py # Tag management UI
│   │
│   └── utils/                   # Utility functions
│       ├── __init__.py
│       └── path_utils.py        # Path operations
│
├── tests/                       # Test suite
│   ├── __init__.py
│   ├── test_deepface_gui.py     # DeepFace testing
│   ├── test_face_recognition.py # Face rec tests
│   ├── test_simple_gui.py       # GUI tests
│   ├── test_thumbnail_sizes.py  # UI tests
│   ├── debug_face_detection.py  # Debug tools
│   └── show_large_thumbnails.py # Debug tools
│
├── docs/                        # Documentation
│   ├── README.md                # Main documentation
│   ├── ARCHITECTURE.md          # System architecture
│   ├── DEMO.md                  # Demo guide
│   └── README_UNIFIED_DASHBOARD.md
│
├── data/                        # Application data
│   └── photos.db                # SQLite database
│
├── demo_photos/                 # Sample photos for testing
│   ├── events/
│   ├── more_photos/
│   └── testdeepface/
│
├── scripts/                     # Utility scripts
│   └── drop_all_tables.py       # Database utilities
│
├── archive/                     # Legacy/backup files
│   ├── *_backup.py              # Old versions
│   └── *_gui.py                 # Legacy GUIs
│
├── logs/                        # Application logs
│
├── venv/                        # Virtual environment
│
├── .git/                        # Git repository
├── .gitignore                   # Git ignore rules
├── .cursorrules                 # Cursor AI rules
├── .cursorignore                # Cursor ignore rules
├── requirements.txt             # Python dependencies
├── gui_config.json              # GUI preferences
├── demo.sh                      # Demo script
└── run_deepface_gui.sh          # Run script
```

## Import Path Examples

### From core modules:
```python
from src.core.database import DatabaseManager
from src.core.face_processing import FaceProcessor
from src.core.config import DEFAULT_DB_PATH
```

### From GUI modules:
```python
from src.gui.dashboard_gui import DashboardGUI
from src.gui.gui_core import GUICore
```

### From utils:
```python
from src.utils.path_utils import normalize_path
```

## Entry Points

### GUI Application
```bash
python src/gui/dashboard_gui.py
```

### CLI Application
```bash
python src/photo_tagger.py
```

### Tests
```bash
python -m pytest tests/

```

## Notes
- All source code in `src/` directory
- Tests separate from source code
- Documentation in `docs/`
- Project notes in `.notes/`
- Legacy code archived in `archive/`

