Fix mock tests
This commit is contained in:
473
src/main/resources/resources/praetium.html
Normal file
473
src/main/resources/resources/praetium.html
Normal file
@@ -0,0 +1,473 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Troostwijk Auctions - Kavel Data Dashboard</title>
|
||||
<script src="https://cdn.tailwindcss.com"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/plotly.js/3.0.3/plotly.min.js"></script>
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
|
||||
<style>
|
||||
.gradient-bg {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
}
|
||||
.card-hover {
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
.card-hover:hover {
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
|
||||
}
|
||||
.kavel-card {
|
||||
background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
|
||||
border: 1px solid #e2e8f0;
|
||||
}
|
||||
.bid-indicator {
|
||||
background: linear-gradient(45deg, #10b981 0%, #059669 100%);
|
||||
}
|
||||
.price-indicator {
|
||||
background: linear-gradient(45deg, #f59e0b 0%, #d97706 100%);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="bg-gray-50 min-h-screen">
|
||||
<!-- Header -->
|
||||
<header class="gradient-bg text-white py-8">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="flex items-center justify-between">
|
||||
<div>
|
||||
<h1 class="text-4xl font-bold mb-2">
|
||||
<i class="fas fa-gavel mr-3"></i>
|
||||
Troostwijk Auctions
|
||||
</h1>
|
||||
<p class="text-xl opacity-90">Kavel Data Extraction & Analysis Dashboard</p>
|
||||
</div>
|
||||
<div class="text-right">
|
||||
<div class="text-2xl font-bold" id="total-kavels">5</div>
|
||||
<div class="text-sm opacity-80">Total Kavels</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Main Content -->
|
||||
<main class="container mx-auto px-4 py-8">
|
||||
<!-- Summary Cards -->
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
|
||||
<div class="bg-white rounded-lg shadow-md p-6 card-hover">
|
||||
<div class="flex items-center">
|
||||
<div class="p-3 rounded-full bg-blue-100 text-blue-600">
|
||||
<i class="fas fa-tags text-xl"></i>
|
||||
</div>
|
||||
<div class="ml-4">
|
||||
<div class="text-2xl font-bold text-gray-800" id="categories-count">5</div>
|
||||
<div class="text-gray-600">Categories</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white rounded-lg shadow-md p-6 card-hover">
|
||||
<div class="flex items-center">
|
||||
<div class="p-3 rounded-full bg-green-100 text-green-600">
|
||||
<i class="fas fa-map-marker-alt text-xl"></i>
|
||||
</div>
|
||||
<div class="ml-4">
|
||||
<div class="text-2xl font-bold text-gray-800" id="locations-count">5</div>
|
||||
<div class="text-gray-600">Locations</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white rounded-lg shadow-md p-6 card-hover">
|
||||
<div class="flex items-center">
|
||||
<div class="p-3 rounded-full bg-yellow-100 text-yellow-600">
|
||||
<i class="fas fa-euro-sign text-xl"></i>
|
||||
</div>
|
||||
<div class="ml-4">
|
||||
<div class="text-2xl font-bold text-gray-800">€67,250</div>
|
||||
<div class="text-gray-600">Total Value</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white rounded-lg shadow-md p-6 card-hover">
|
||||
<div class="flex items-center">
|
||||
<div class="p-3 rounded-full bg-purple-100 text-purple-600">
|
||||
<i class="fas fa-clock text-xl"></i>
|
||||
</div>
|
||||
<div class="ml-4">
|
||||
<div class="text-2xl font-bold text-gray-800" id="avg-bids">24</div>
|
||||
<div class="text-gray-600">Avg Bids</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Charts Section -->
|
||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-8">
|
||||
<!-- Categories Chart -->
|
||||
<div class="bg-white rounded-lg shadow-md p-6">
|
||||
<h3 class="text-xl font-semibold mb-4 text-gray-800">
|
||||
<i class="fas fa-chart-pie mr-2 text-blue-600"></i>
|
||||
Kavel Distribution by Category
|
||||
</h3>
|
||||
<div id="categories-chart" style="height: 300px;"></div>
|
||||
</div>
|
||||
|
||||
<!-- Price Ranges Chart -->
|
||||
<div class="bg-white rounded-lg shadow-md p-6">
|
||||
<h3 class="text-xl font-semibold mb-4 text-gray-800">
|
||||
<i class="fas fa-chart-bar mr-2 text-green-600"></i>
|
||||
Price Distribution
|
||||
</h3>
|
||||
<div id="prices-chart" style="height: 300px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bid Activity Chart -->
|
||||
<div class="bg-white rounded-lg shadow-md p-6 mb-8">
|
||||
<h3 class="text-xl font-semibold mb-4 text-gray-800">
|
||||
<i class="fas fa-chart-line mr-2 text-purple-600"></i>
|
||||
Bidding Activity Analysis
|
||||
</h3>
|
||||
<div id="bids-chart" style="height: 400px;"></div>
|
||||
</div>
|
||||
|
||||
<!-- Kavel Details Table -->
|
||||
<div class="bg-white rounded-lg shadow-md p-6">
|
||||
<div class="flex justify-between items-center mb-6">
|
||||
<h3 class="text-xl font-semibold text-gray-800">
|
||||
<i class="fas fa-list mr-2 text-indigo-600"></i>
|
||||
Kavel Details
|
||||
</h3>
|
||||
<div class="flex space-x-2">
|
||||
<button id="export-json" class="bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700 transition-colors">
|
||||
<i class="fas fa-download mr-2"></i>Export JSON
|
||||
</button>
|
||||
<button id="export-csv" class="bg-green-600 text-white px-4 py-2 rounded-lg hover:bg-green-700 transition-colors">
|
||||
<i class="fas fa-file-csv mr-2"></i>Export CSV
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="overflow-x-auto">
|
||||
<table class="min-w-full divide-y divide-gray-200">
|
||||
<thead class="bg-gray-50">
|
||||
<tr>
|
||||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Kavel</th>
|
||||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Category</th>
|
||||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Current Bid</th>
|
||||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Bids</th>
|
||||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Location</th>
|
||||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">End Date</th>
|
||||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="kavels-table" class="bg-white divide-y divide-gray-200">
|
||||
<!-- Table content will be populated by JavaScript -->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="bg-gray-800 text-white py-8 mt-12">
|
||||
<div class="container mx-auto px-4 text-center">
|
||||
<p class="text-gray-300">
|
||||
<i class="fas fa-info-circle mr-2"></i>
|
||||
Data extracted from Troostwijk Auctions - Industrial Equipment & Machinery Auctions
|
||||
</p>
|
||||
<p class="text-sm text-gray-400 mt-2">
|
||||
Generated on: <span id="generation-date"></span>
|
||||
</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// Sample data (in real implementation, this would be loaded from the extracted files)
|
||||
const kavelData = [
|
||||
{
|
||||
"id": "KAVEL_001",
|
||||
"title": "Industrial CNC Machine - Haas VF-2",
|
||||
"description": "Used Haas VF-2 vertical machining center, 30 taper, 10,000 RPM spindle",
|
||||
"current_bid": "€12,500",
|
||||
"bid_count": "23",
|
||||
"end_date": "2025-11-28 14:00:00",
|
||||
"location": "Amsterdam, Netherlands",
|
||||
"auction_place": "Metalworking Equipment Auction",
|
||||
"category": "Machinery",
|
||||
"condition": "Used",
|
||||
"year": "2018",
|
||||
"images": ["https://example.com/image1.jpg", "https://example.com/image2.jpg"],
|
||||
"specifications": {
|
||||
"Spindle Speed": "10,000 RPM",
|
||||
"Tool Capacity": "24 tools",
|
||||
"Table Size": "914 x 356 mm",
|
||||
"Travel X/Y/Z": "762/406/508 mm"
|
||||
},
|
||||
"url": "https://www.troostwijkauctions.com/lots/12345"
|
||||
},
|
||||
{
|
||||
"id": "KAVEL_002",
|
||||
"title": "Forklift Truck - Linde E20",
|
||||
"description": "Electric forklift, 2 ton capacity, including charger",
|
||||
"current_bid": "€8,750",
|
||||
"bid_count": "15",
|
||||
"end_date": "2025-11-28 15:30:00",
|
||||
"location": "Rotterdam, Netherlands",
|
||||
"auction_place": "Warehouse Equipment Auction",
|
||||
"category": "Material Handling",
|
||||
"condition": "Good",
|
||||
"year": "2020",
|
||||
"images": ["https://example.com/forklift1.jpg"],
|
||||
"specifications": {
|
||||
"Capacity": "2000 kg",
|
||||
"Lift Height": "4.5 meters",
|
||||
"Battery": "80V lithium-ion",
|
||||
"Hours": "1,250 hours"
|
||||
},
|
||||
"url": "https://www.troostwijkauctions.com/lots/12346"
|
||||
},
|
||||
{
|
||||
"id": "KAVEL_003",
|
||||
"title": "Office Furniture Set - Complete",
|
||||
"description": "Modern office furniture including desks, chairs, and storage units",
|
||||
"current_bid": "€2,300",
|
||||
"bid_count": "8",
|
||||
"end_date": "2025-11-29 10:00:00",
|
||||
"location": "Utrecht, Netherlands",
|
||||
"auction_place": "Office Liquidation Auction",
|
||||
"category": "Furniture",
|
||||
"condition": "Excellent",
|
||||
"year": "2023",
|
||||
"images": ["https://example.com/office1.jpg", "https://example.com/office2.jpg"],
|
||||
"specifications": {
|
||||
"Desks": "6 executive desks",
|
||||
"Chairs": "12 ergonomic office chairs",
|
||||
"Storage": "4 filing cabinets",
|
||||
"Conference Table": "1 large table"
|
||||
},
|
||||
"url": "https://www.troostwijkauctions.com/lots/12347"
|
||||
},
|
||||
{
|
||||
"id": "KAVEL_004",
|
||||
"title": "Industrial Generator - 100kVA",
|
||||
"description": "Cummins 100kVA diesel generator, low hours, recently serviced",
|
||||
"current_bid": "€15,200",
|
||||
"bid_count": "31",
|
||||
"end_date": "2025-11-29 16:00:00",
|
||||
"location": "Eindhoven, Netherlands",
|
||||
"auction_place": "Power Equipment Auction",
|
||||
"category": "Power Generation",
|
||||
"condition": "Excellent",
|
||||
"year": "2019",
|
||||
"images": ["https://example.com/generator1.jpg"],
|
||||
"specifications": {
|
||||
"Power Output": "100 kVA",
|
||||
"Fuel": "Diesel",
|
||||
"Hours": "450 hours",
|
||||
"Voltage": "400V 3-phase"
|
||||
},
|
||||
"url": "https://www.troostwijkauctions.com/lots/12348"
|
||||
},
|
||||
{
|
||||
"id": "KAVEL_005",
|
||||
"title": "Laboratory Equipment Package",
|
||||
"description": "Complete lab setup including microscopes, centrifuges, and analytical balances",
|
||||
"current_bid": "€28,500",
|
||||
"bid_count": "42",
|
||||
"end_date": "2025-11-30 11:00:00",
|
||||
"location": "Leiden, Netherlands",
|
||||
"auction_place": "Medical Equipment Auction",
|
||||
"category": "Laboratory",
|
||||
"condition": "Good",
|
||||
"year": "2021",
|
||||
"images": ["https://example.com/lab1.jpg", "https://example.com/lab2.jpg"],
|
||||
"specifications": {
|
||||
"Microscopes": "3 digital microscopes",
|
||||
"Centrifuges": "2 high-speed centrifuges",
|
||||
"Balances": "5 analytical balances",
|
||||
"Incubators": "2 temperature-controlled incubators"
|
||||
},
|
||||
"url": "https://www.troostwijkauctions.com/lots/12349"
|
||||
}
|
||||
];
|
||||
|
||||
// Initialize dashboard
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
populateTable();
|
||||
createCharts();
|
||||
setupExportButtons();
|
||||
document.getElementById('generation-date').textContent = new Date().toLocaleString();
|
||||
});
|
||||
|
||||
function populateTable() {
|
||||
const tableBody = document.getElementById('kavels-table');
|
||||
|
||||
kavelData.forEach(kavel => {
|
||||
const row = document.createElement('tr');
|
||||
row.className = 'hover:bg-gray-50';
|
||||
|
||||
row.innerHTML = `
|
||||
<td class="px-6 py-4 whitespace-nowrap">
|
||||
<div class="flex items-center">
|
||||
<div class="ml-4">
|
||||
<div class="text-sm font-medium text-gray-900">${kavel.title}</div>
|
||||
<div class="text-sm text-gray-500">${kavel.id}</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="px-6 py-4 whitespace-nowrap">
|
||||
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-blue-100 text-blue-800">
|
||||
${kavel.category}
|
||||
</span>
|
||||
</td>
|
||||
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">
|
||||
${kavel.current_bid}
|
||||
</td>
|
||||
<td class="px-6 py-4 whitespace-nowrap">
|
||||
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800">
|
||||
${kavel.bid_count} bids
|
||||
</span>
|
||||
</td>
|
||||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
|
||||
${kavel.location}
|
||||
</td>
|
||||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
|
||||
${new Date(kavel.end_date).toLocaleDateString()} ${new Date(kavel.end_date).toLocaleTimeString()}
|
||||
</td>
|
||||
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium">
|
||||
<button onclick="showDetails('${kavel.id}')" class="text-indigo-600 hover:text-indigo-900 mr-3">
|
||||
<i class="fas fa-eye"></i>
|
||||
</button>
|
||||
<a href="${kavel.url}" target="_blank" class="text-green-600 hover:text-green-900">
|
||||
<i class="fas fa-external-link-alt"></i>
|
||||
</a>
|
||||
</td>
|
||||
`;
|
||||
|
||||
tableBody.appendChild(row);
|
||||
});
|
||||
}
|
||||
|
||||
function createCharts() {
|
||||
// Categories pie chart
|
||||
const categoriesData = kavelData.reduce((acc, kavel) => {
|
||||
acc[kavel.category] = (acc[kavel.category] || 0) + 1;
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
const categoriesTrace = {
|
||||
values: Object.values(categoriesData),
|
||||
labels: Object.keys(categoriesData),
|
||||
type: 'pie',
|
||||
marker: {
|
||||
colors: ['#3b82f6', '#10b981', '#f59e0b', '#ef4444', '#8b5cf6']
|
||||
},
|
||||
textinfo: 'label+percent',
|
||||
textposition: 'auto'
|
||||
};
|
||||
|
||||
Plotly.newPlot('categories-chart', [categoriesTrace], {
|
||||
showlegend: false,
|
||||
margin: { t: 0, b: 0, l: 0, r: 0 }
|
||||
});
|
||||
|
||||
// Price ranges bar chart
|
||||
const priceRanges = kavelData.reduce((acc, kavel) => {
|
||||
const price = parseInt(kavel.current_bid.replace(/[€,]/g, ''));
|
||||
let range;
|
||||
if (price < 5000) range = 'Under €5,000';
|
||||
else if (price < 15000) range = '€5,000 - €15,000';
|
||||
else if (price < 25000) range = '€15,000 - €25,000';
|
||||
else range = 'Over €25,000';
|
||||
|
||||
acc[range] = (acc[range] || 0) + 1;
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
const pricesTrace = {
|
||||
x: Object.keys(priceRanges),
|
||||
y: Object.values(priceRanges),
|
||||
type: 'bar',
|
||||
marker: {
|
||||
color: '#10b981'
|
||||
}
|
||||
};
|
||||
|
||||
Plotly.newPlot('prices-chart', [pricesTrace], {
|
||||
xaxis: { title: 'Price Range' },
|
||||
yaxis: { title: 'Number of Kavels' },
|
||||
margin: { t: 20, b: 80, l: 60, r: 20 }
|
||||
});
|
||||
|
||||
// Bidding activity scatter plot
|
||||
const bidsTrace = {
|
||||
x: kavelData.map(k => k.title),
|
||||
y: kavelData.map(k => parseInt(k.bid_count)),
|
||||
mode: 'markers',
|
||||
type: 'scatter',
|
||||
marker: {
|
||||
size: 12,
|
||||
color: kavelData.map(k => parseInt(k.current_bid.replace(/[€,]/g, ''))),
|
||||
colorscale: 'Viridis',
|
||||
showscale: true,
|
||||
colorbar: { title: 'Price (€)' }
|
||||
},
|
||||
text: kavelData.map(k => `${k.title}<br>Bids: ${k.bid_count}<br>Price: ${k.current_bid}`),
|
||||
hovertemplate: '%{text}<extra></extra>'
|
||||
};
|
||||
|
||||
Plotly.newPlot('bids-chart', [bidsTrace], {
|
||||
xaxis: { title: 'Kavel', tickangle: -45 },
|
||||
yaxis: { title: 'Number of Bids' },
|
||||
margin: { t: 20, b: 150, l: 60, r: 80 }
|
||||
});
|
||||
}
|
||||
|
||||
function setupExportButtons() {
|
||||
document.getElementById('export-json').addEventListener('click', function() {
|
||||
downloadData(kavelData, 'troostwijk_kavels.json', 'application/json');
|
||||
});
|
||||
|
||||
document.getElementById('export-csv').addEventListener('click', function() {
|
||||
const csvData = convertToCSV(kavelData);
|
||||
downloadData(csvData, 'troostwijk_kavels.csv', 'text/csv');
|
||||
});
|
||||
}
|
||||
|
||||
function downloadData(data, filename, mimeType) {
|
||||
const blob = new Blob([typeof data === 'string' ? data : JSON.stringify(data, null, 2)],
|
||||
{ type: mimeType });
|
||||
const url = URL.createObjectURL(blob);
|
||||
const a = document.createElement('a');
|
||||
a.href = url;
|
||||
a.download = filename;
|
||||
document.body.appendChild(a);
|
||||
a.click();
|
||||
document.body.removeChild(a);
|
||||
URL.revokeObjectURL(url);
|
||||
}
|
||||
|
||||
function convertToCSV(data) {
|
||||
const headers = ['ID', 'Title', 'Category', 'Current Bid', 'Bid Count', 'Location', 'End Date'];
|
||||
const csvContent = [
|
||||
headers.join(','),
|
||||
...data.map(row => [
|
||||
row.id, row.title, row.category, row.current_bid,
|
||||
row.bid_count, row.location, row.end_date
|
||||
].join(','))
|
||||
].join('\n');
|
||||
return csvContent;
|
||||
}
|
||||
|
||||
function showDetails(kavelId) {
|
||||
const kavel = kavelData.find(k => k.id === kavelId);
|
||||
if (kavel) {
|
||||
alert(`Details for ${kavel.title}:\n\nDescription: ${kavel.description}\nCondition: ${kavel.condition}\nYear: ${kavel.year}\nSpecifications: ${JSON.stringify(kavel.specifications, null, 2)}`);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"total_kavels": 5,
|
||||
"categories": {
|
||||
"Machinery": 1,
|
||||
"Material Handling": 1,
|
||||
"Furniture": 1,
|
||||
"Power Generation": 1,
|
||||
"Laboratory": 1
|
||||
},
|
||||
"locations": {
|
||||
"Amsterdam, Netherlands": 1,
|
||||
"Rotterdam, Netherlands": 1,
|
||||
"Utrecht, Netherlands": 1,
|
||||
"Eindhoven, Netherlands": 1,
|
||||
"Leiden, Netherlands": 1
|
||||
},
|
||||
"price_ranges": {
|
||||
"\u20ac5,000 - \u20ac15,000": 2,
|
||||
"Under \u20ac5,000": 1,
|
||||
"\u20ac15,000 - \u20ac25,000": 1,
|
||||
"Over \u20ac25,000": 1
|
||||
},
|
||||
"bid_activity": {
|
||||
"Medium (10-24 bids)": 2,
|
||||
"Low (1-9 bids)": 1,
|
||||
"High (25-39 bids)": 1,
|
||||
"Very High (40+ bids)": 1
|
||||
},
|
||||
"time_distribution": {}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
id,title,description,current_bid,bid_count,end_date,location,auction_place,category,condition,year,images,specifications,url
|
||||
KAVEL_001,Industrial CNC Machine - Haas VF-2,"Used Haas VF-2 vertical machining center, 30 taper, 10,000 RPM spindle","€12,500",23,2025-11-28 14:00:00,"Amsterdam, Netherlands",Metalworking Equipment Auction,Machinery,Used,2018,"https://example.com/image1.jpg, https://example.com/image2.jpg","{""Spindle Speed"": ""10,000 RPM"", ""Tool Capacity"": ""24 tools"", ""Table Size"": ""914 x 356 mm"", ""Travel X/Y/Z"": ""762/406/508 mm""}",https://www.troostwijkauctions.com/lots/12345
|
||||
KAVEL_002,Forklift Truck - Linde E20,"Electric forklift, 2 ton capacity, including charger","€8,750",15,2025-11-28 15:30:00,"Rotterdam, Netherlands",Warehouse Equipment Auction,Material Handling,Good,2020,https://example.com/forklift1.jpg,"{""Capacity"": ""2000 kg"", ""Lift Height"": ""4.5 meters"", ""Battery"": ""80V lithium-ion"", ""Hours"": ""1,250 hours""}",https://www.troostwijkauctions.com/lots/12346
|
||||
KAVEL_003,Office Furniture Set - Complete,"Modern office furniture including desks, chairs, and storage units","€2,300",8,2025-11-29 10:00:00,"Utrecht, Netherlands",Office Liquidation Auction,Furniture,Excellent,2023,"https://example.com/office1.jpg, https://example.com/office2.jpg","{""Desks"": ""6 executive desks"", ""Chairs"": ""12 ergonomic office chairs"", ""Storage"": ""4 filing cabinets"", ""Conference Table"": ""1 large table""}",https://www.troostwijkauctions.com/lots/12347
|
||||
KAVEL_004,Industrial Generator - 100kVA,"Cummins 100kVA diesel generator, low hours, recently serviced","€15,200",31,2025-11-29 16:00:00,"Eindhoven, Netherlands",Power Equipment Auction,Power Generation,Excellent,2019,https://example.com/generator1.jpg,"{""Power Output"": ""100 kVA"", ""Fuel"": ""Diesel"", ""Hours"": ""450 hours"", ""Voltage"": ""400V 3-phase""}",https://www.troostwijkauctions.com/lots/12348
|
||||
KAVEL_005,Laboratory Equipment Package,"Complete lab setup including microscopes, centrifuges, and analytical balances","€28,500",42,2025-11-30 11:00:00,"Leiden, Netherlands",Medical Equipment Auction,Laboratory,Good,2021,"https://example.com/lab1.jpg, https://example.com/lab2.jpg","{""Microscopes"": ""3 digital microscopes"", ""Centrifuges"": ""2 high-speed centrifuges"", ""Balances"": ""5 analytical balances"", ""Incubators"": ""2 temperature-controlled incubators""}",https://www.troostwijkauctions.com/lots/12349
|
||||
|
@@ -0,0 +1,120 @@
|
||||
[
|
||||
{
|
||||
"id": "KAVEL_001",
|
||||
"title": "Industrial CNC Machine - Haas VF-2",
|
||||
"description": "Used Haas VF-2 vertical machining center, 30 taper, 10,000 RPM spindle",
|
||||
"current_bid": "€12,500",
|
||||
"bid_count": "23",
|
||||
"end_date": "2025-11-28 14:00:00",
|
||||
"location": "Amsterdam, Netherlands",
|
||||
"auction_place": "Metalworking Equipment Auction",
|
||||
"category": "Machinery",
|
||||
"condition": "Used",
|
||||
"year": "2018",
|
||||
"images": [
|
||||
"https://example.com/image1.jpg",
|
||||
"https://example.com/image2.jpg"
|
||||
],
|
||||
"specifications": {
|
||||
"Spindle Speed": "10,000 RPM",
|
||||
"Tool Capacity": "24 tools",
|
||||
"Table Size": "914 x 356 mm",
|
||||
"Travel X/Y/Z": "762/406/508 mm"
|
||||
},
|
||||
"url": "https://www.troostwijkauctions.com/lots/12345"
|
||||
},
|
||||
{
|
||||
"id": "KAVEL_002",
|
||||
"title": "Forklift Truck - Linde E20",
|
||||
"description": "Electric forklift, 2 ton capacity, including charger",
|
||||
"current_bid": "€8,750",
|
||||
"bid_count": "15",
|
||||
"end_date": "2025-11-28 15:30:00",
|
||||
"location": "Rotterdam, Netherlands",
|
||||
"auction_place": "Warehouse Equipment Auction",
|
||||
"category": "Material Handling",
|
||||
"condition": "Good",
|
||||
"year": "2020",
|
||||
"images": [
|
||||
"https://example.com/forklift1.jpg"
|
||||
],
|
||||
"specifications": {
|
||||
"Capacity": "2000 kg",
|
||||
"Lift Height": "4.5 meters",
|
||||
"Battery": "80V lithium-ion",
|
||||
"Hours": "1,250 hours"
|
||||
},
|
||||
"url": "https://www.troostwijkauctions.com/lots/12346"
|
||||
},
|
||||
{
|
||||
"id": "KAVEL_003",
|
||||
"title": "Office Furniture Set - Complete",
|
||||
"description": "Modern office furniture including desks, chairs, and storage units",
|
||||
"current_bid": "€2,300",
|
||||
"bid_count": "8",
|
||||
"end_date": "2025-11-29 10:00:00",
|
||||
"location": "Utrecht, Netherlands",
|
||||
"auction_place": "Office Liquidation Auction",
|
||||
"category": "Furniture",
|
||||
"condition": "Excellent",
|
||||
"year": "2023",
|
||||
"images": [
|
||||
"https://example.com/office1.jpg",
|
||||
"https://example.com/office2.jpg"
|
||||
],
|
||||
"specifications": {
|
||||
"Desks": "6 executive desks",
|
||||
"Chairs": "12 ergonomic office chairs",
|
||||
"Storage": "4 filing cabinets",
|
||||
"Conference Table": "1 large table"
|
||||
},
|
||||
"url": "https://www.troostwijkauctions.com/lots/12347"
|
||||
},
|
||||
{
|
||||
"id": "KAVEL_004",
|
||||
"title": "Industrial Generator - 100kVA",
|
||||
"description": "Cummins 100kVA diesel generator, low hours, recently serviced",
|
||||
"current_bid": "€15,200",
|
||||
"bid_count": "31",
|
||||
"end_date": "2025-11-29 16:00:00",
|
||||
"location": "Eindhoven, Netherlands",
|
||||
"auction_place": "Power Equipment Auction",
|
||||
"category": "Power Generation",
|
||||
"condition": "Excellent",
|
||||
"year": "2019",
|
||||
"images": [
|
||||
"https://example.com/generator1.jpg"
|
||||
],
|
||||
"specifications": {
|
||||
"Power Output": "100 kVA",
|
||||
"Fuel": "Diesel",
|
||||
"Hours": "450 hours",
|
||||
"Voltage": "400V 3-phase"
|
||||
},
|
||||
"url": "https://www.troostwijkauctions.com/lots/12348"
|
||||
},
|
||||
{
|
||||
"id": "KAVEL_005",
|
||||
"title": "Laboratory Equipment Package",
|
||||
"description": "Complete lab setup including microscopes, centrifuges, and analytical balances",
|
||||
"current_bid": "€28,500",
|
||||
"bid_count": "42",
|
||||
"end_date": "2025-11-30 11:00:00",
|
||||
"location": "Leiden, Netherlands",
|
||||
"auction_place": "Medical Equipment Auction",
|
||||
"category": "Laboratory",
|
||||
"condition": "Good",
|
||||
"year": "2021",
|
||||
"images": [
|
||||
"https://example.com/lab1.jpg",
|
||||
"https://example.com/lab2.jpg"
|
||||
],
|
||||
"specifications": {
|
||||
"Microscopes": "3 digital microscopes",
|
||||
"Centrifuges": "2 high-speed centrifuges",
|
||||
"Balances": "5 analytical balances",
|
||||
"Incubators": "2 temperature-controlled incubators"
|
||||
},
|
||||
"url": "https://www.troostwijkauctions.com/lots/12349"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user