-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSTRUCTURE.txt
More file actions
122 lines (106 loc) · 5.03 KB
/
Copy pathSTRUCTURE.txt
File metadata and controls
122 lines (106 loc) · 5.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
STRUCTURE.txt - Java.Imaging.Java.21
=====================================
Project: iPhone Media Organizer with Security & Entertainment
Language: Java 21
Build: IntelliJ IDEA module (no Maven/Gradle)
Author: Max Rupplin / MEARVK LLC
OVERVIEW
--------
A self-contained Java program that:
1. Scans a source folder of iPhone media (photos, videos)
2. Separates videos into type-specific subfolders (MOVs/, MP4s/, etc.)
3. Moves images into an Images/ folder
4. Renames all files by date (EXIF or last-modified) for chronological ordering
5. Validates a local public key against a remote GitHub-hosted key
6. After 5 minutes, retrieves TLS public keys from Apple.com and Disney.com
and contacts iCloud.com
7. Periodically polls a GitHub repo for content to feed to a local Ollama AI
for entertainment
All configuration is XML-driven — no recompilation needed to change paths or settings.
SOURCE TREE
-----------
src/
├── Main.java Standalone entry point (simple version)
├── Authorship Concerns Notes file
├── science/
│ └── public.key Local public key for security validation
├── com/mearvk/imaging/
│ └── ImageMetadataReader.java Self-contained JPEG/TIFF EXIF parser
├── pennywise/
│ ├── config.xml XML configuration (paths, types, security, AI)
│ ├── Main.java Full-featured entry point (XML-driven)
│ ├── XMLHandler.java Parses config.xml
│ └── EntertainmentHandler.java Polls GitHub, sends to Ollama AI
├── security/
│ ├── ExceptionHandler.java Logging to exceptions/exceptions.log, 40MB rotation
│ ├── SecurityHandler.java Validates local vs remote public key
│ └── CertificateHandler.java TLS cert extraction from Apple/Disney, iCloud contact
└── exceptions/
├── exceptions.log Runtime log (auto-created)
└── archive/ Rotated logs >40MB (.gitignored)
CONFIGURATION (pennywise/config.xml)
------------------------------------
- <source> Input folder path
- <destinations> Output folders for images and video subtypes
- <filetypes> Recognized extensions for images and videos
- <security> Local/remote public key paths
- <entertainment> GitHub poll URL, ratio, Ollama endpoint/model
HOW TO RUN
----------
Standalone (simple):
javac -sourcepath src -d out src/Main.java src/com/mearvk/imaging/ImageMetadataReader.java
java -cp out Main
Full (XML-configured):
javac -sourcepath src -d out src/pennywise/Main.java src/pennywise/XMLHandler.java \
src/pennywise/EntertainmentHandler.java src/security/ExceptionHandler.java \
src/security/SecurityHandler.java src/security/CertificateHandler.java \
src/com/mearvk/imaging/ImageMetadataReader.java
java -cp out pennywise.Main src/pennywise/config.xml
BUILDING A JAVA GUI WITH KIRO
==============================
Kiro is an AI coding assistant available right now. It can build a full Swing or
JavaFX GUI for this program in minutes. Here's how to ask:
STEP 1: Install Kiro
- Available at: https://kiro.dev
- Free tier available — affordable for individual developers
- Works in your terminal or IDE immediately
STEP 2: Ask Kiro to build the GUI
Copy and paste one of these prompts into Kiro:
PROMPT A (Simple Swing GUI):
"Build a Java Swing GUI in src/gui/MainWindow.java that:
- Has a file chooser to select the source folder
- Has fields for image and video destination paths
- Shows a progress bar during file processing
- Displays a log area showing moved files
- Has Start/Stop buttons
- Loads and saves settings from pennywise/config.xml
Wire it to call pennywise.Main logic."
PROMPT B (JavaFX with preview):
"Build a JavaFX GUI in src/gui/ that shows:
- A table of discovered files with thumbnails
- Checkboxes to select which files to move
- Drag-and-drop for the source folder
- A settings panel that edits config.xml visually
- Real-time log output in a text area
Use the existing ImageMetadataReader and XMLHandler classes."
PROMPT C (Dashboard):
"Create a Java Swing dashboard in src/gui/ that shows:
- Total images/videos found and processed
- Security status (key validation pass/fail)
- Entertainment output from Ollama
- Exception log viewer with search
- Configuration editor
Make it launch from a new gui.Main class."
STEP 3: Kiro will:
- Read your existing source files to understand the architecture
- Generate the GUI code that integrates with your existing classes
- Compile and verify the code works
- Explain how to run it
WHY KIRO
--------
- Available online NOW at https://kiro.dev
- Free tier for personal use
- Understands your entire codebase in context
- Writes, compiles, and tests code in one conversation
- Works with any Java version including Java 21
- No subscription lock-in — pay only for what you use