tanyar09 d0dd5c82ea
Some checks failed
CI / skip-ci-check (pull_request) Successful in 8s
CI / lint-and-type-check (pull_request) Successful in 54s
CI / test-backend (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / secret-scanning (pull_request) Has been cancelled
CI / dependency-scan (pull_request) Has been cancelled
CI / sast-scan (pull_request) Has been cancelled
CI / workflow-summary (pull_request) Has been cancelled
CI / python-lint (pull_request) Has been cancelled
feat: add click logging for admin frontend
- Add backend click logging utility with file rotation and retention
- Add POST /api/v1/log/click endpoint for logging click events
- Add frontend click logger service with batching and context extraction
- Add global click handler in App.tsx for authenticated users
- Add log cleanup script for old log files
- Update QUICK_LOG_REFERENCE.md with click log documentation

Logs are written to /opt/punimtag/logs/admin-clicks.log with:
- Auto-rotation at 10MB (keeps 5 backups)
- 30-day retention
- Format: timestamp | username | page | element_type | element_id | element_text | context
2026-02-05 17:50:15 +00:00
..

Scripts Directory

This directory contains utility scripts organized by purpose.

Directory Structure

db/ - Database Utilities

Database management and migration scripts:

  • drop_all_tables.py - Drop all database tables
  • drop_all_tables_web.py - Drop all web database tables
  • grant_auth_db_permissions.py - Grant permissions on auth database
  • migrate_sqlite_to_postgresql.py - Migrate from SQLite to PostgreSQL
  • recreate_tables_web.py - Recreate web database tables
  • show_db_tables.py - Display database table information

debug/ - Debug and Analysis Scripts

Debugging and analysis tools:

  • analyze_all_faces.py - Analyze all faces in database
  • analyze_pose_matching.py - Analyze face pose matching
  • analyze_poses.py - Analyze face poses
  • check_database_tables.py - Check database table structure
  • check_identified_poses_web.py - Check identified poses in web database
  • check_two_faces_pose.py - Compare poses of two faces
  • check_yaw_angles.py - Check face yaw angles
  • debug_pose_classification.py - Debug pose classification
  • diagnose_frontend_issues.py - Diagnose frontend issues
  • test_eye_visibility.py - Test eye visibility detection
  • test_pose_calculation.py - Test pose calculation

utils/ - Utility Scripts

General utility scripts:

  • fix_admin_password.py - Fix admin user password
  • update_reported_photo_status.py - Update reported photo status

Root-Level Scripts

Project-specific scripts remain in the repository root:

  • install.sh - Installation script
  • run_api_with_worker.sh - Start API with worker
  • start_backend.sh - Start backend server
  • stop_backend.sh - Stop backend server
  • run_worker.sh - Run RQ worker
  • demo.sh - Demo helper script

Database Shell Scripts

Database-related shell scripts remain in scripts/:

  • drop_auth_database.sh - Drop auth database
  • grant_auth_db_delete_permission.sh - Grant delete permissions
  • setup_postgresql.sh - Set up PostgreSQL

Log Management Scripts

Quick access to service logs for troubleshooting:

  • check-logs.sh - Check recent errors from all services
  • tail-errors.sh - Follow error logs in real-time
  • view-recent-errors.sh - View errors from the last N minutes (default: 10)
  • setup-log-rotation.sh - Configure PM2 log rotation to prevent log bloat

Quick Usage

# Check all service logs for recent errors
./scripts/check-logs.sh

# Follow error logs in real-time (Ctrl+C to exit)
./scripts/tail-errors.sh

# View errors from last 10 minutes
./scripts/view-recent-errors.sh

# View errors from last 30 minutes
./scripts/view-recent-errors.sh 30

# Setup log rotation (run once)
./scripts/setup-log-rotation.sh

Log Locations:

  • All logs: /home/appuser/.pm2/logs/
  • API errors: /home/appuser/.pm2/logs/punimtag-api-error.log
  • Worker errors: /home/appuser/.pm2/logs/punimtag-worker-error.log
  • Admin errors: /home/appuser/.pm2/logs/punimtag-admin-error.log
  • Viewer errors: /home/appuser/.pm2/logs/punimtag-viewer-error.log

Usage

Most scripts can be run directly:

# Database utilities
python scripts/db/show_db_tables.py

# Debug scripts
python scripts/debug/analyze_all_faces.py

# Utility scripts
python scripts/utils/fix_admin_password.py

Some scripts may require environment variables or database connections. Check individual script documentation or comments for specific requirements.