Research-Stack/5-Applications/nodupe/wiki/Architecture/Overview.md
2026-05-05 21:15:26 -05:00

67 lines
1.3 KiB
Markdown

# Architecture Overview
## System Design
NoDupeLabs uses a plugin-based architecture with a modular core system.
## Core Components
### nodupe/core/
| Module | Purpose |
|--------|---------|
| `loader.py` | File loading and processing |
| `config.py` | Configuration management |
| `database/` | SQLite database operations |
| `plugin_system/` | Plugin lifecycle management |
| `scan/` | File scanning utilities |
### nodupe/plugins/
| Plugin Type | Purpose |
|-------------|---------|
| `database/` | Data persistence |
| `similarity/` | Content comparison |
| `time_sync/` | Timestamp synchronization |
| `commands/` | CLI commands |
| `ml/` | Machine learning |
| `gpu/` | GPU acceleration |
## Data Flow
```
1. User runs CLI command
2. Command validates input
3. Core system scans files
4. Plugins process results
5. Database stores metadata
6. Results displayed to user
```
## Plugin System
Plugins extend functionality through a standardized interface:
```python
class SimilarityCommandPlugin:
name: str
def execute(self, args) -> Result:
...
```
## Testing
- pytest-based test suite
- 1023 tests collected
- Coverage: 16.5%
- Docstring coverage: 100%
## See Also
- [Plugin Development](../Development/Plugins.md)
- [API Reference](../API/CLI.md)