How maharab4120/file-organizer works
CloudSort is a desktop file organizer. A user chooses a folder, previews or organizes its files, and can undo the latest move batch or clear history. Organization scans files, classifies them using rule packs, optionally detects duplicates, moves files into category folders, and records moves for undo. Rules can be fetched and cached, with built-in defaults available offline. The graph reflects the sampled Java sources; UI details and some rule-loading behavior are only partially shown.
Main entry points: Main.java JavaFX UI · FileOrganizer.java Folder organizer · RuleEngine.java Rule engine · DatabaseManager.java History manager
Components 14
Desktop app
Rule management
- Rule engine
src/main/java/com/fileorganizer/core/RuleEngine.java - Sorting rules
src/main/java/com/fileorganizer/core/SortingRule.java - Rule fetcher
src/main/java/com/fileorganizer/core/RuleFetcher.java - Rule cache
src/main/java/com/fileorganizer/core/RuleCache.java
File organization
- Folder organizer
src/main/java/com/fileorganizer/core/FileOrganizer.java - Progress listener
src/main/java/com/fileorganizer/core/ProgressListener.java - SHA-256 hasher
src/main/java/com/fileorganizer/util/FileHasher.java
Move history
- History manager
src/main/java/com/fileorganizer/core/DatabaseManager.java - SQLite history store
Other components
- User
- Selected folder
- Rules source
Connections 19
- User → JavaFX UI: operates
src/main/java/com/fileorganizer/Main.java - Launcher → JavaFX UI: launches
src/main/java/com/fileorganizer/Launcher.java - JavaFX UI → History manager: initializes
src/main/java/com/fileorganizer/Main.java - JavaFX UI → Folder organizer: scans and organizes
src/main/java/com/fileorganizer/Main.java - JavaFX UI → History manager: reads and clears history
src/main/java/com/fileorganizer/Main.java - JavaFX UI → Selected folder: selects
src/main/java/com/fileorganizer/Main.java - Folder organizer → Selected folder: scans and moves
src/main/java/com/fileorganizer/core/FileOrganizer.java - Folder organizer → Rule engine: classifies with
src/main/java/com/fileorganizer/core/FileOrganizer.java - Folder organizer → SHA-256 hasher: hashes duplicates
src/main/java/com/fileorganizer/core/FileOrganizer.java - Folder organizer → History manager: logs moves
src/main/java/com/fileorganizer/core/FileOrganizer.java - Folder organizer → Progress listener: reports progress
src/main/java/com/fileorganizer/core/FileOrganizer.java - JavaFX UI → Progress listener: registers callback
src/main/java/com/fileorganizer/Main.java - JavaFX UI → Rule fetcher: downloads and parses
src/main/java/com/fileorganizer/Main.java - JavaFX UI → Rule cache: caches rules
src/main/java/com/fileorganizer/Main.java - JavaFX UI → Rule engine: uses defaults
src/main/java/com/fileorganizer/Main.java - Rule fetcher → Rules source: downloads from
src/main/java/com/fileorganizer/core/RuleFetcher.java - Rule fetcher → Rule engine: parses into
src/main/java/com/fileorganizer/core/RuleFetcher.java - Rule engine → Sorting rules: checks rules
src/main/java/com/fileorganizer/core/RuleEngine.java - History manager → SQLite history store: persists history
src/main/java/com/fileorganizer/core/DatabaseManager.java