Add Node.js/Express backend with PostgreSQL and wire frontend to API
- Server: Express.js with 13 API route files (auth, regulations, contacts, calendar, truck stops, bridges, weigh stations, alerts, load board, escort locator, orders, documents, contributions) - Database: PostgreSQL with Prisma ORM, 15 models covering all modules - Auth: JWT + bcrypt with role-based access control (driver/carrier/escort/admin) - Geospatial: Haversine distance filtering on truck stops, bridges, escorts - Seed script: Imports all existing mock data (51 states, contacts, equipment, truck stops, bridges, weigh stations, alerts, seasonal restrictions) - Frontend: All 10 data-driven pages now fetch from /api instead of mock-data.js - API client (api.js): Compatibility layer that transforms API responses to match existing frontend rendering code, minimizing page-level changes Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -119,14 +119,18 @@
|
||||
|
||||
<div id="main-footer"></div>
|
||||
|
||||
<script src="mock-data.js"></script>
|
||||
<script src="mock-data-extended.js"></script>
|
||||
<script src="api.js"></script>
|
||||
<script src="nav.js"></script>
|
||||
<script>
|
||||
renderNav('alerts');
|
||||
renderBanner();
|
||||
renderFooter();
|
||||
|
||||
(async () => {
|
||||
const alertData = await PilotEdge.getAlerts();
|
||||
const MOCK_ROUTE_CONDITIONS = alertData.routeConditions;
|
||||
const MOCK_WEATHER_ALERTS = alertData.weatherAlerts;
|
||||
|
||||
// ── State ──
|
||||
let activeTab = 'all';
|
||||
let map, markersLayer;
|
||||
@@ -413,6 +417,7 @@
|
||||
document.getElementById('filter-type').addEventListener('change', renderAll);
|
||||
document.getElementById('filter-severity').addEventListener('change', renderAll);
|
||||
document.getElementById('filter-oversize').addEventListener('change', renderAll);
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user