db 연결 패치

This commit is contained in:
2026-03-01 15:02:44 +09:00
parent c0b3598f88
commit 5c4117658e
4 changed files with 25 additions and 5 deletions

View File

@@ -77,10 +77,13 @@ const MapResizer = () => {
}; };
const AdSenseComponent = () => { const AdSenseComponent = () => {
const loadedRef = useRef(false);
useEffect(() => { useEffect(() => {
if (loadedRef.current) return;
try { try {
// @ts-ignore // @ts-ignore
(window.adsbygoogle = window.adsbygoogle || []).push({}); (window.adsbygoogle = window.adsbygoogle || []).push({});
loadedRef.current = true;
} catch (e) { } catch (e) {
console.error('AdSense error:', e); console.error('AdSense error:', e);
} }

13
package-lock.json generated
View File

@@ -10,6 +10,7 @@
"dependencies": { "dependencies": {
"@google/genai": "1.40.0", "@google/genai": "1.40.0",
"cors": "^2.8.6", "cors": "^2.8.6",
"dotenv": "^17.3.1",
"express": "^5.2.1", "express": "^5.2.1",
"leaflet": "1.9.4", "leaflet": "1.9.4",
"lucide-react": "0.460.0", "lucide-react": "0.460.0",
@@ -2168,6 +2169,18 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/dotenv": {
"version": "17.3.1",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.3.1.tgz",
"integrity": "sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==",
"license": "BSD-2-Clause",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://dotenvx.com"
}
},
"node_modules/dunder-proto": { "node_modules/dunder-proto": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",

View File

@@ -5,12 +5,14 @@
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"server": "node server.js",
"build": "vite build", "build": "vite build",
"preview": "vite preview" "preview": "vite preview"
}, },
"dependencies": { "dependencies": {
"@google/genai": "1.40.0", "@google/genai": "1.40.0",
"cors": "^2.8.6", "cors": "^2.8.6",
"dotenv": "^17.3.1",
"express": "^5.2.1", "express": "^5.2.1",
"leaflet": "1.9.4", "leaflet": "1.9.4",
"lucide-react": "0.460.0", "lucide-react": "0.460.0",

View File

@@ -1,3 +1,4 @@
import "dotenv/config";
import express from 'express'; import express from 'express';
import mysql from 'mysql2/promise'; import mysql from 'mysql2/promise';
import cors from 'cors'; import cors from 'cors';
@@ -55,7 +56,8 @@ async function initializeDB() {
const [rows] = await pool.query('SELECT COUNT(*) as count FROM markers'); const [rows] = await pool.query('SELECT COUNT(*) as count FROM markers');
console.log(`[DB] Current Status: ${rows[0].count} markers stored in database.`); console.log(`[DB] Current Status: ${rows[0].count} markers stored in database.`);
} catch (error) { } catch (error) {
console.error('[DB] MariaDB connection failed:', error.message); console.error('[DB] MariaDB connection failed details:', error);
console.error('[DB] Host:', dbConfig.host);
process.exit(1); process.exit(1);
} }
} }
@@ -74,8 +76,8 @@ app.get('/api/markers', async (req, res) => {
})); }));
res.json(formattedMarkers); res.json(formattedMarkers);
} catch (error) { } catch (error) {
console.error(error); console.error('[API] GET Markers Error:', error);
res.status(500).json({ error: 'Failed to fetch markers' }); res.status(500).json({ error: 'Failed to fetch markers', detail: error.message });
} }
}); });
@@ -97,8 +99,8 @@ app.post('/api/markers', async (req, res) => {
if (isDebug) console.log(`[API] Successfully saved marker: ${id}`); if (isDebug) console.log(`[API] Successfully saved marker: ${id}`);
res.json({ success: true }); res.json({ success: true });
} catch (error) { } catch (error) {
console.error(error); console.error('[API] POST Marker Error:', error);
res.status(500).json({ error: 'Failed to save marker' }); res.status(500).json({ error: 'Failed to save marker', detail: error.message });
} }
}); });