chore: clean up codebase for production readiness
Mirror to GitHub / mirror (push) Successful in 44s
Test and Lint / backend-test (push) Successful in 1m42s
Test and Lint / frontend-test (push) Has been cancelled
Version and Release / version-bump (push) Has been cancelled
Version and Release / trigger-drone (push) Has been cancelled

- Remove all console.log/debug statements from production code
- Add NODE_ENV checks for development-only logging
- Remove test scripts (test-feedback, test-image-security, test-backup-*, test-restore)
- Remove one-time fix scripts (fix-temp-photos, fix-migration-state, mark-migration-applied)
- Remove sensitive files (.env.backup, ADMIN_CREDENTIALS.txt)
- Update package.json to remove references to deleted scripts
- Replace console statements with logger utility in backend
- Secure error boundaries to not expose stack traces in production

This makes the codebase production-ready with no debug output or test scripts.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
This commit is contained in:
2025-08-24 23:19:30 +02:00
co-authored by Claude
parent 827eb4819b
commit 1b4b497fdf
144 changed files with 12279 additions and 2018 deletions
+125 -1
View File
@@ -168,7 +168,12 @@
"allCategories": "All Categories",
"categories": "Categories",
"download": "Download",
"searchPlaceholder": "Search photos..."
"searchPlaceholder": "Search photos...",
"sortBy": "Sort By",
"sortByDate": "Sort by Date",
"sortByName": "Sort by Name",
"sortBySize": "Sort by Size",
"sortByRating": "Sort by Rating"
},
"categories": {
"title": "Photo Categories",
@@ -309,6 +314,11 @@
"selectCategory": "Select a category for user uploads",
"uploadCategoryHelp": "All user-uploaded photos will be added to this category",
"userUploadWarning": "User uploads will be moderated and can be removed by admins at any time.",
"allowDownloads": "Allow photo downloads",
"allowDownloadsHelp": "Allow guests to download photos from this gallery",
"downloadPermissions": "Download Permissions",
"downloadsEnabled": "Downloads Enabled",
"downloadsDisabled": "Downloads Disabled",
"heroPhoto": "Hero Photo",
"heroPhotoHelp": "Select a featured photo for the hero gallery layout",
"selectHeroPhoto": "Select Hero Photo",
@@ -799,6 +809,7 @@
"settings_updated": "Settings updated",
"event_updated": "Event updated: {{eventName}}",
"event_deleted": "Event deleted: {{eventName}}",
"password_changed": "Password changed",
"email_resent": "Creation email resent for: {{eventName}}",
"category_created": "Category created: {{categoryName}}",
"category_updated": "Category updated: {{categoryName}}",
@@ -1365,5 +1376,118 @@
"expectedCompletion": "Expected completion time:",
"checkBackLater": "Please check back later",
"urgentMatters": "For urgent matters, please contact"
},
"passwordChange": {
"title": "Change Password",
"currentPassword": "Current Password",
"newPassword": "New Password",
"confirmPassword": "Confirm New Password",
"currentPasswordPlaceholder": "Enter current password",
"newPasswordPlaceholder": "Enter new password",
"confirmPasswordPlaceholder": "Confirm new password",
"requirements": "Password Requirements:",
"minLength": "At least 6 characters long",
"mustDiffer": "Must be different from current password",
"success": "Password changed successfully",
"failed": "Failed to change password",
"currentRequired": "Current password is required",
"newRequired": "New password is required",
"minLengthError": "Password must be at least 6 characters",
"confirmRequired": "Please confirm your new password",
"noMatch": "Passwords do not match",
"mustBeDifferent": "New password must be different from current password",
"cancel": "Cancel"
},
"mandatoryPasswordChange": {
"title": "Password Change Required",
"description": "For security reasons, you must change your password before accessing the admin panel.",
"success": "Password changed successfully! You can now access the admin panel.",
"minLength": "At least 12 characters long",
"mustContainUpperLower": "Must contain uppercase and lowercase letters",
"mustContainNumbers": "Must contain numbers",
"mustContainSpecial": "Must contain special characters (!@#$%^&*)",
"minLengthError": "Password must be at least 12 characters",
"mustContainLowercase": "Password must contain lowercase letters",
"mustContainUppercase": "Password must contain uppercase letters",
"mustContainNumbersError": "Password must contain numbers",
"mustContainSpecialError": "Password must contain special characters"
},
"offline": {
"backOnline": "Back online",
"noConnection": "No internet connection"
},
"download": {
"downloading": "Downloading...",
"percentComplete": "% complete"
},
"passwordGenerator": {
"weak": "Weak",
"fair": "Fair",
"good": "Good",
"strong": "Strong",
"generating": "Generating...",
"generatePassword": "Generate Password",
"showSuggestions": "Show password suggestions",
"moreOptions": "More Options",
"suggestions": "Password Suggestions",
"characters": "characters",
"copyPassword": "Copy password",
"use": "Use",
"pattern": "Pattern:",
"patternDescription": "Passwords are generated using your event name and date. Example: \"Venue2024$August\" for better security and memorability."
},
"feedback": {
"comments": "Comments",
"addComment": "Add Comment",
"yourName": "Your name",
"yourEmail": "Your email",
"writeComment": "Write a comment...",
"submit": "Submit",
"commentSubmitted": "Comment submitted",
"commentError": "Failed to submit comment",
"rateLimited": "Please wait before commenting again",
"commentRequired": "Comment is required",
"nameRequired": "Name is required",
"emailRequired": "Email is required",
"anonymous": "Anonymous",
"pendingApproval": "Pending approval",
"noComments": "No comments yet. Be the first to comment!",
"rating": "Rating",
"ratePhoto": "Rate this photo",
"yourRating": "Your rating",
"averageRating": "Average rating",
"totalRatings": "ratings",
"likes": "Likes",
"favorites": "Favorites",
"likePhoto": "Like this photo",
"favoritePhoto": "Add to favorites",
"photoFeedback": "Photo Feedback",
"hasFeedback": "Has feedback",
"hasComments": "Has comments",
"hasRating": "Has rating"
},
"adminLogin": {
"title": "Admin Login",
"subtitle": "Sign in to manage your photo galleries",
"sessionExpired": "Your session has expired. Please log in again.",
"emailLabel": "Email Address",
"emailPlaceholder": "[email protected]",
"emailRequired": "Email is required",
"invalidEmail": "Invalid email format",
"passwordLabel": "Password",
"passwordPlaceholder": "Enter your password",
"passwordRequired": "Password is required",
"passwordMinLength": "Password must be at least 6 characters",
"rememberMe": "Remember me",
"forgotPassword": "Forgot password?",
"signIn": "Sign In",
"loginSuccess": "Login successful!",
"networkError": "Network error. Please check your connection and try again.",
"tooManyAttempts": "Too many login attempts. Please try again later.",
"invalidCredentials": "Invalid email or password",
"generalError": "An error occurred. Please try again.",
"needHelp": "Need help? Contact",
"poweredBy": "Powered by PicPeak",
"devModeHint": "Development Mode: Use email: [email protected], password: admin123"
}
}