New update for the geo-coding system to include system to automatically scan the nocodb locations to build geo-locations

This commit is contained in:
2025-09-26 11:35:12 -06:00
parent 37ca9f76d2
commit 75fefb20cb
5 changed files with 797 additions and 8 deletions

View File

@@ -1255,6 +1255,116 @@
</div>
</div>
</div>
<!-- Scan & Geocode Existing Records -->
<div class="scan-geocode-container" style="margin-top: 30px;">
<div class="info-box">
<h3>🔍 Scan & Geocode Database</h3>
<p>Scan your existing database for records that are missing location data and automatically geocode them.</p>
<div class="scan-info">
<h4>What this does:</h4>
<ul>
<li>Scans all records in your database</li>
<li>Finds records with addresses but no geo-location data</li>
<li>Automatically geocodes those addresses using the same multi-provider system</li>
<li>Updates records with coordinates, confidence scores, and provider information</li>
<li>Provides detailed progress tracking and error reporting</li>
</ul>
<div class="scan-warning">
<h4>⚠️ Important Notes:</h4>
<ul>
<li>This will modify existing records in your database</li>
<li>Only processes records that have an address but no coordinates</li>
<li>Rate limited to be respectful to geocoding APIs (0.5 seconds between requests)</li>
<li>You can download a detailed report when completed</li>
</ul>
</div>
</div>
<div class="scan-actions">
<button type="button" class="btn btn-primary" id="scan-geocode-btn">
🔍 Start Database Scan & Geocode
</button>
<button type="button" class="btn btn-secondary" id="cancel-scan-btn" style="display: none;">
⏹️ Cancel Scan
</button>
</div>
</div>
<div class="scan-processing-section" id="scan-processing-section" style="display: none;">
<h3>Database Scan Progress</h3>
<div class="scan-phase" id="scan-phase">
<h4>Phase 1: Database Scan</h4>
<p id="scan-status">Scanning database for records...</p>
</div>
<div class="progress-bar-container" id="scan-progress-container" style="display: none;">
<div class="progress-bar">
<div class="progress-bar-fill" id="scan-progress-bar-fill"></div>
</div>
<p class="progress-text">
<span id="scan-progress-current">0</span> /
<span id="scan-progress-total">0</span> addresses geocoded
</p>
</div>
<div class="processing-status" id="scan-processing-status">
<p id="scan-current-address"></p>
</div>
<div class="scan-summary" id="scan-summary" style="display: none;">
<h4>Scan Summary</h4>
<div class="summary-stats">
<div class="stat-item">
<span class="stat-label">Total Records:</span>
<span class="stat-value" id="total-records">0</span>
</div>
<div class="stat-item">
<span class="stat-label">Need Geocoding:</span>
<span class="stat-value" id="need-geocoding">0</span>
</div>
<div class="stat-item">
<span class="stat-label">Successfully Geocoded:</span>
<span class="stat-value" id="successfully-geocoded">0</span>
</div>
<div class="stat-item">
<span class="stat-label">Failed:</span>
<span class="stat-value" id="failed-geocoded">0</span>
</div>
</div>
</div>
<div class="scan-results-preview" id="scan-results-preview" style="display: none;">
<h4>Recent Results</h4>
<div class="scan-results-table-container">
<table class="results-table" id="scan-results-table">
<thead>
<tr>
<th>Status</th>
<th>Address</th>
<th>Coordinates</th>
<th>Confidence</th>
<th>Provider</th>
</tr>
</thead>
<tbody id="scan-results-tbody"></tbody>
</table>
</div>
</div>
<div class="scan-actions-completed" id="scan-actions-completed" style="display: none;">
<button type="button" class="btn btn-primary" id="download-scan-report-btn">
📄 Download Detailed Report
</button>
<button type="button" class="btn btn-secondary" id="new-scan-btn">
🔍 Start New Scan
</button>
</div>
</div>
</div>
</section>
<!-- Email Lists (Listmonk) Section -->