A RAG-based application for intelligent file management, duplicate detection, and content analysis.
- File scanning and metadata extraction
- Exact and near-duplicate file detection
- ML-based image similarity analysis
- RAG-powered content search and insights
- Safe duplicate removal with quarantine system
- Clean desktop interface with Electron
- Dockerized backend for easy deployment
# Start backend services
make start
# Start desktop app
make desktop
# View logs
make logs
# Stop everything
make stop
# See all commands
make help# Start backend
docker-compose up -d
# View logs
docker-compose logs -f
# Stop
docker-compose down# Backend
cd backend
docker-compose up -d
# Desktop App
cd desktop
npm install
npm startRAG-smart-folder/
├── repos/ # Clean separated codebases
│ ├── backend/ # Python FastAPI backend
│ └── desktop/ # Electron desktop app
├── data/ # Database and data files
├── logs/ # Application logs
├── quarantine/ # Quarantined duplicate files
├── docs/ # Documentation
├── docker-compose.yml # Container orchestration
├── Makefile # Easy commands
└── README.md # This file
See docs/Project_Structure_and_Architecture.markdown for detailed documentation.
- Desktop App: Clean Electron app with native folder selection
- FastAPI Backend: RESTful API with Docker support
- Database: SQLite with proper schema and indexing
- File Scanner: Recursive scanning with metadata extraction
- Duplicate Detection: SHA256 hashing for exact duplicates
- Perceptual Hashing: Image similarity detection
- Real-time Updates: Live scan progress and status
- Clean Architecture: Separated codebases for better maintainability
- Docker Support: Containerized backend with easy deployment
- Make Commands: Simple commands for development workflow
- Start the backend:
make start - Start desktop app:
make desktop - Select folder: Use the desktop app to choose a folder
- Scan: Click "Start Scan" and watch the results!
GET /health- Health checkPOST /scan- Start folder scanGET /files- List scanned filesGET /duplicates- Get duplicate filesDELETE /files/{file_id}- Delete file
Backend runs on: http://localhost:8003
Each codebase is independent and can be developed separately:
- Backend:
backend/ - Desktop:
desktop/
See individual README files in each repo for specific development instructions.