feat: Add stale process monitor, users route, landing page, archive old scripts

- Add backend stale process monitoring API (/api/stale-processes)
- Add users management route
- Add frontend landing page and stale process monitor UI on /scraper-tools
- Move old development scripts to backend/archive/
- Update frontend build with new features

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Kelly
2025-12-05 04:07:31 -07:00
parent d2d44d2aeb
commit d91c55a344
3115 changed files with 5755 additions and 719 deletions

View File

@@ -0,0 +1,35 @@
import { scrapeStore } from './src/services/scraper';
async function testSolFlowerScraper() {
console.log('🛍️ Testing product scraper for Sol Flower - Sun City\n');
try {
const storeId = 19; // Sol Flower - Sun City
console.log(`Store ID: ${storeId}\n`);
const result = await scrapeStore(storeId);
console.log('\n📊 Scraping Results:');
console.log(`Success: ${result.success ? '✅' : '❌'}`);
if (result.success) {
console.log(`\nProducts scraped: ${result.productsScraped || 0}`);
console.log(`Brands found: ${result.brandsFound || 0}`);
console.log(`Categories scraped: ${result.categoriesScraped || 0}`);
if (result.errors && result.errors.length > 0) {
console.log(`\nErrors encountered: ${result.errors.length}`);
result.errors.forEach((error, idx) => {
console.log(` ${idx + 1}. ${error}`);
});
}
} else {
console.log(`\nError: ${result.error}`);
}
} catch (error) {
console.error('❌ Error:', error);
}
}
testSolFlowerScraper();