initial commit

This commit is contained in:
2026-02-06 15:16:56 +09:00
parent 1c72c185ab
commit b38090a31a
5 changed files with 2836 additions and 51 deletions

26
Dockerfile Normal file
View File

@@ -0,0 +1,26 @@
# 1단계: 빌드 (Node.js)
FROM node:20-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN rm -f package-lock.json && npm install
COPY . .
RUN npm run build
# 2단계: 실행 (Nginx)
# 2단계: 실행 (Node.js)
FROM node:20-alpine
WORKDIR /app
# 프로덕션 의존성만 설치
COPY package*.json ./
RUN npm install --omit=dev
# 서버 파일 및 빌드 결과물 복사
COPY server.js ./
COPY --from=build /app/dist ./dist
# 환경변수 포트 노출
EXPOSE 80
# 서버 실행
CMD ["node", "server.js"]

38
index.css Normal file
View File

@@ -0,0 +1,38 @@
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
body {
font-family: 'Inter', sans-serif;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #f8fafc;
}
.leaflet-container {
width: 100%;
height: 100%;
z-index: 1;
background: #ebe7e3;
}
.custom-marker {
background: none;
border: none;
}
.custom-scrollbar::-webkit-scrollbar {
width: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track {
background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
background: #e2e8f0;
border-radius: 10px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
background: #cbd5e1;
}

View File

@@ -7,56 +7,7 @@
<title>WiFi Share Pro</title> <title>WiFi Share Pro</title>
<script src="https://cdn.tailwindcss.com"></script> <script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin=""/> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin=""/>
<style> <link rel="stylesheet" href="/index.css">
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
body {
font-family: 'Inter', sans-serif;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #f8fafc;
}
.leaflet-container {
width: 100%;
height: 100%;
z-index: 1;
background: #ebe7e3;
}
.custom-marker {
background: none;
border: none;
}
.custom-scrollbar::-webkit-scrollbar {
width: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track {
background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
background: #e2e8f0;
border-radius: 10px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
background: #cbd5e1;
}
</style>
<script type="importmap">
{
"imports": {
"react": "https://esm.sh/react@19.0.0",
"react-dom": "https://esm.sh/react-dom@19.0.0",
"react-dom/client": "https://esm.sh/react-dom@19.0.0/client",
"lucide-react": "https://esm.sh/lucide-react@0.460.0?external=react",
"leaflet": "https://esm.sh/leaflet@1.9.4",
"react-leaflet": "https://esm.sh/react-leaflet@5.0.0?external=react,react-dom,leaflet",
"qrcode.react": "https://esm.sh/qrcode.react@3.1.0?external=react",
"@google/genai": "https://esm.sh/@google/genai@1.40.0",
"react-dom/": "https://esm.sh/react-dom@^19.2.4/",
"react/": "https://esm.sh/react@^19.2.4/"
}
}
</script>
<link rel="stylesheet" href="/index.css">
</head> </head>
<body class="bg-slate-50 text-slate-900"> <body class="bg-slate-50 text-slate-900">
<div id="root"></div> <div id="root"></div>

2770
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -14,7 +14,7 @@
"lucide-react": "0.460.0", "lucide-react": "0.460.0",
"leaflet": "1.9.4", "leaflet": "1.9.4",
"react-leaflet": "5.0.0", "react-leaflet": "5.0.0",
"qrcode.react": "3.1.0", "qrcode.react": "^4.2.0",
"@google/genai": "1.40.0" "@google/genai": "1.40.0"
}, },
"devDependencies": { "devDependencies": {