diff --git a/.build/prod/nginx.Dockerfile b/.build/prod/nginx.Dockerfile
new file mode 100644
index 0000000..f1153d4
--- /dev/null
+++ b/.build/prod/nginx.Dockerfile
@@ -0,0 +1,5 @@
+FROM nginx
+
+COPY nginx.conf /etc/nginx/conf.d/default.conf
+
+WORKDIR /etc/nginx
diff --git a/.build/prod/nginx.conf b/.build/prod/nginx.conf
new file mode 100644
index 0000000..ae4aad4
--- /dev/null
+++ b/.build/prod/nginx.conf
@@ -0,0 +1,44 @@
+server {
+ listen 80;
+
+ server_name _;
+ access_log /dev/stdout;
+ error_log /dev/stdout info;
+
+ location /api/ {
+ proxy_pass http://api:8000/api/;
+ proxy_http_version 1.1;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ }
+
+ location /ws/ {
+ proxy_pass http://api:8000/ws/;
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection "upgrade";
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+
+ # WebSocket timeout settings
+ proxy_read_timeout 86400s;
+ proxy_send_timeout 86400s;
+ proxy_connect_timeout 60s;
+ }
+
+ location / {
+ # In development, proxy to Vite dev server
+ proxy_pass http://node:3000;
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection "upgrade";
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ }
+}
diff --git a/.build/prod/node.Dockerfile b/.build/prod/node.Dockerfile
new file mode 100644
index 0000000..4e42054
--- /dev/null
+++ b/.build/prod/node.Dockerfile
@@ -0,0 +1,5 @@
+FROM node:24-bookworm-slim
+
+WORKDIR /var/www/html/public
+
+CMD npm run dev -- --host 0.0.0.0
diff --git a/.build/prod/python.Dockerfile b/.build/prod/python.Dockerfile
new file mode 100644
index 0000000..74798ca
--- /dev/null
+++ b/.build/prod/python.Dockerfile
@@ -0,0 +1,7 @@
+FROM python:3.11.4-slim-buster
+
+WORKDIR /var/www/html/
+
+COPY requirements.txt .
+
+RUN pip install -r requirements.txt
diff --git a/public/src/App.tsx b/public/src/App.tsx
index 3224837..3a5f245 100644
--- a/public/src/App.tsx
+++ b/public/src/App.tsx
@@ -4,6 +4,8 @@ import { Register } from './components/auth/Register';
import { ProtectedRoute } from './components/auth/ProtectedRoute';
import { Dashboard } from './pages/Dashboard';
import { SharedMap } from './pages/SharedMap';
+import { ToastContainer } from './components/common/ToastContainer';
+import { ConfirmContainer } from './components/common/ConfirmContainer';
function App() {
return (
@@ -22,6 +24,8 @@ function App() {
/>