mirror of
https://github.com/allaunthefox/Research-Stack.git
synced 2026-07-31 03:05:21 +00:00
67 lines
1.3 KiB
Markdown
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)
|