Commit Graph

22 Commits

Author SHA1 Message Date
Nirodan 34c82f3dca Add 5 new tools: QR-Code, Markdown, Color Converter, JSON Formatter, Regex Tester
- backend/tools/qrcode_gen.py: POST /api/qrcode/generate, returns base64 PNG (qrcode[pil])
- backend/tools/markdown_tool.py: POST /api/markdown/render, extensions: tables/fenced_code/nl2br
- backend/tools/colorconverter.py: POST /api/color/convert, HEX/RGB/HSL via colorsys (no deps)
- backend/tools/jsonformatter.py: POST /api/json/format, returns formatted JSON with line/col errors
- backend/tools/regextester.py: POST /api/regex/test, flags i/m/s, returns matches with positions
- QrCodeTool.jsx: generate + download PNG button
- MarkdownTool.jsx: split editor/preview, debounce 500ms, white preview bg
- ColorConverterTool.jsx: color swatch preview, per-format copy buttons
- JsonFormatterTool.jsx: indent toggle 2/4, pre result box with copy
- RegexTesterTool.jsx: debounce 400ms, yellow match highlighting, flag checkboxes
- All blueprints registered in app.py; qrcode[pil] + markdown added to requirements.txt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 18:19:34 +02:00
Nirodan 955bc9a7bf Fix 8 bugs found in code review
- auth/login.py: guard against missing JSON body (get_json silent=True, empty-string check)
- app.py: replace infinite redirect with 404 for unknown /api/* and /setup/* paths
- tools/jwtdecoder.py: add algorithms list to jwt.decode() for PyJWT 2.x compatibility
- util/setup_routes.py: call reset_pool() after save_config() so pool re-initialises with new DB credentials
- util/logger.py: set ERROR level on error.log handler so it no longer receives INFO/WARNING messages
- LoginForm.jsx: remove dead navigate() call that was immediately overridden by window.location.href
- main.jsx: remove base.css, dark.css, light.css that were already imported in App.jsx (duplicate imports)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 17:38:51 +02:00
Nirodan 7f9c5c874a Add 6 new tools: Hasher, Base64, JWT Decoder, Password Gen, Timestamp, Text Diff
- backend/tools/hasher.py: POST /api/hash/sha256 and /api/hash/bcrypt (bcrypt added to requirements)
- backend/tools/base64tool.py: POST /api/base64/encode and /api/base64/decode
- backend/tools/jwtdecoder.py: POST /api/jwt/decode (signature verification disabled)
- backend/tools/passwordgen.py: POST /api/password/generate with charset and length options
- backend/tools/timestamp.py: POST /api/timestamp/convert (unix<->date, ISO 8601 + German format)
- backend/tools/textdiff.py: POST /api/text/diff returning structured added/removed/unchanged lines
- All blueprints registered in app.py and tools/__init__.py
- React components with copy button, dark/light mode support via CSS variables
- ToolOverview rebuilt as card grid; App.jsx routes added for all tools

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 14:28:18 +02:00
Nirodan 80ec5eca7b Security, code quality and frontend improvements
- Move SECRET_KEY out of docker-compose into .env (env_file), add .env.example
- Add flask-limiter with 10 req/min on login route; introduce util/limiter.py
- Replace direct mysql.connector.connect() calls with MySQLConnectionPool via util/db_pool.py
- Fix deprecated datetime.utcnow() -> datetime.now(timezone.utc) in auth/login.py
- Remove dead /api/scripts 410 route from admin.py
- Add MD5 security warning in Md5Tool.jsx
- Add ErrorBoundary component and wrap App.jsx
- Expand README with setup guide, screenshot and project structure

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 13:52:53 +02:00
Nirodan 0699158486 Add admin dashboard and tool icons 2026-01-22 12:18:27 +01:00
Nirodan 263ac52454 setup_routes wieder util 2025-06-17 14:22:32 +02:00
Nirodan e680776bc4 Bug fixing fehlende oder Fehlerhafte Module korrigiert 2025-06-17 14:18:14 +02:00
Nirodan 4c6872a866 neuschreiben der app.py nach refectoring 2025-06-17 11:36:12 +02:00
Nirodan 8ca650cf11 Funktionstrennung 1.0 2025-06-17 11:28:06 +02:00
Nirodan e15f6a4ccf Trennen von errorlogs und normalen logs 2025-06-17 11:09:20 +02:00
Nirodan 6ca9cf77ac Logging in App.py 2025-06-17 11:05:55 +02:00
Nirodan ce36859cf0 Logger in login + token verify 2025-06-17 11:01:33 +02:00
Nirodan bbb1a70b9c MD5 hasher Bug Fix + Logger 2025-06-17 11:00:26 +02:00
Nirodan b6399f8b52 Docker compose. dev.yml erstellt 2025-06-17 10:43:22 +02:00
Nirodan 2961081c06 In docker umgewandelt zwar mit erros im frontend aber ja 2025-06-16 12:15:13 +02:00
Nirodan f395740522 Hash Fix 2025-06-16 11:16:44 +02:00
Nirodan 84684d0a08 Tokken validierung 2025-06-16 11:13:00 +02:00
Nirodan 77b95762f7 Token löschen für vollständigen Logout 2025-06-16 10:28:51 +02:00
Nirodan 492bc31393 Passwort hashen 2025-06-16 10:24:54 +02:00
Nirodan 86308925ea Login mit Admin Admin login bis zum Dashboard
erfolgreich
2025-06-14 18:57:43 +02:00
Nirodan a3e521e458 Datenbank verbindung + User Admin angelegt 2025-06-14 18:45:33 +02:00
Nirodan 5424351cea umbennen von frontend zu frontend 2025-06-14 14:01:20 +02:00