diff --git a/.env.example b/.env.example index 4956400..3686446 100644 --- a/.env.example +++ b/.env.example @@ -3,7 +3,7 @@ BACKEND_PORT=3001 # Client (frontend) port -CLIENT_PORT=3000 +FRONTEND_PORT=3000 # Signal API Configuration # URL for the Signal API server (if using Signal tracking) diff --git a/.gitignore b/.gitignore index 8b3c3bd..c98a51d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,9 @@ # Node modules node_modules/ -client/node_modules/ # Build outputs dist/ build/ -client/build/ # WhatsApp authentication data (IMPORTANT: Keep this private!) auth_info_baileys/ @@ -72,9 +70,6 @@ temp/ # Dependency directories jspm_packages/ -# Production build -/build - # Misc .cache .parcel-cache diff --git a/README.md b/README.md index 2f978ae..90c7f6d 100644 --- a/README.md +++ b/README.md @@ -36,8 +36,8 @@ git clone https://github.com/gommzystudio/device-activity-tracker.git cd device-activity-tracker # Install dependencies -npm install -cd client && npm install && cd .. +cd backend && npm install && cd .. +cd frontend && npm install && cd .. ``` **Requirements:** Node.js 20+, npm, WhatsApp account @@ -54,14 +54,14 @@ cp .env.example .env # (Optional) Customize ports in .env file # BACKEND_PORT=3001 -# CLIENT_PORT=3000 +# FRONTEND_PORT=3000 # Build and start containers docker compose up --build ``` The application will be available at: -- Frontend: [http://localhost:3000](http://localhost:3000) (or your configured `CLIENT_PORT`) +- Frontend: [http://localhost:3000](http://localhost:3000) (or your configured `FRONTEND_PORT`) - Backend: [http://localhost:3001](http://localhost:3001) (or your configured `BACKEND_PORT`) To stop the containers: @@ -75,10 +75,12 @@ docker compose down ```bash # Terminal 1: Start backend +cd backend npm run start:server # Terminal 2: Start frontend -npm run start:client +cd frontend +npm run start ``` Open `http://localhost:3000`, scan QR code with WhatsApp, then enter phone number to track (e.g., `491701234567`). @@ -137,13 +139,13 @@ In the web interface, you can switch between probe methods using the dropdown in ``` device-activity-tracker/ -├── src/ -│ ├── tracker.ts # WhatsApp RTT analysis logic -│ ├── signal-tracker.ts # Signal RTT analysis logic -│ ├── server.ts # Backend API server (both platforms) -│ └── index.ts # CLI interface -├── client/ # React web interface -└── package.json +├── backend/ +│ └── src/ +│ ├── tracker.ts # WhatsApp RTT analysis logic +│ ├── signal-tracker.ts # Signal RTT analysis logic +│ ├── server.ts # Backend API server (both platforms) +│ └── index.ts # CLI interface +└── frontend/ # React web interface ``` ## How to Protect Yourself diff --git a/.dockerignore b/backend/.dockerignore similarity index 77% rename from .dockerignore rename to backend/.dockerignore index 38bd76a..8863b92 100644 --- a/.dockerignore +++ b/backend/.dockerignore @@ -7,8 +7,6 @@ README.md .env.local dist build -client/node_modules -client/build baileys_auth_info *.log .DS_Store diff --git a/Dockerfile b/backend/Dockerfile similarity index 100% rename from Dockerfile rename to backend/Dockerfile diff --git a/package.json b/backend/package.json similarity index 92% rename from package.json rename to backend/package.json index d3caea6..aa2ec94 100644 --- a/package.json +++ b/backend/package.json @@ -30,9 +30,7 @@ "start": "npx tsx src/index.ts", "start:server": "npm run start:signal-api && npx tsx src/server.ts", "start:signal-api": "npx tsx src/scripts/init-signal.ts", - "start:client": "cd client && npm start", - "dev": "npm run start:server", - "postinstall": "cd client && npm install" + "dev": "npm run start:server" }, "dependencies": { "@whiskeysockets/baileys": "^7.0.0-rc.9", diff --git a/src/index.ts b/backend/src/index.ts similarity index 100% rename from src/index.ts rename to backend/src/index.ts diff --git a/src/scripts/init-signal.ts b/backend/src/scripts/init-signal.ts similarity index 100% rename from src/scripts/init-signal.ts rename to backend/src/scripts/init-signal.ts diff --git a/src/server.ts b/backend/src/server.ts similarity index 100% rename from src/server.ts rename to backend/src/server.ts diff --git a/src/signal-tracker.ts b/backend/src/signal-tracker.ts similarity index 100% rename from src/signal-tracker.ts rename to backend/src/signal-tracker.ts diff --git a/src/tracker.ts b/backend/src/tracker.ts similarity index 100% rename from src/tracker.ts rename to backend/src/tracker.ts diff --git a/tsconfig.json b/backend/tsconfig.json similarity index 100% rename from tsconfig.json rename to backend/tsconfig.json diff --git a/docker-compose.yml b/docker-compose.yml index a0cc642..6857465 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ services: backend: build: - context: . + context: ./backend dockerfile: Dockerfile args: - PORT=${BACKEND_PORT:-3001} @@ -20,17 +20,17 @@ services: - app-network restart: unless-stopped - client: + frontend: build: - context: ./client + context: ./frontend dockerfile: Dockerfile args: - - PORT=${CLIENT_PORT:-3000} + - PORT=${FRONTEND_PORT:-3000} - REACT_APP_API_URL=${BACKEND_URL:-http://localhost:3001} ports: - - "${CLIENT_PORT:-3000}:${CLIENT_PORT:-3000}" + - "${FRONTEND_PORT:-3000}:${FRONTEND_PORT:-3000}" environment: - - PORT=${CLIENT_PORT:-3000} + - PORT=${FRONTEND_PORT:-3000} depends_on: - backend networks: diff --git a/client/.dockerignore b/frontend/.dockerignore similarity index 100% rename from client/.dockerignore rename to frontend/.dockerignore diff --git a/client/.gitignore b/frontend/.gitignore similarity index 100% rename from client/.gitignore rename to frontend/.gitignore diff --git a/client/Dockerfile b/frontend/Dockerfile similarity index 100% rename from client/Dockerfile rename to frontend/Dockerfile diff --git a/client/nginx.conf b/frontend/nginx.conf similarity index 100% rename from client/nginx.conf rename to frontend/nginx.conf diff --git a/client/package.json b/frontend/package.json similarity index 98% rename from client/package.json rename to frontend/package.json index 4ad1d40..22c17aa 100644 --- a/client/package.json +++ b/frontend/package.json @@ -1,5 +1,5 @@ { - "name": "client", + "name": "frontend", "version": "0.1.0", "private": true, "dependencies": { diff --git a/client/postcss.config.js b/frontend/postcss.config.js similarity index 100% rename from client/postcss.config.js rename to frontend/postcss.config.js diff --git a/client/public/favicon.ico b/frontend/public/favicon.ico similarity index 100% rename from client/public/favicon.ico rename to frontend/public/favicon.ico diff --git a/client/public/index.html b/frontend/public/index.html similarity index 100% rename from client/public/index.html rename to frontend/public/index.html diff --git a/client/public/logo192.png b/frontend/public/logo192.png similarity index 100% rename from client/public/logo192.png rename to frontend/public/logo192.png diff --git a/client/public/logo512.png b/frontend/public/logo512.png similarity index 100% rename from client/public/logo512.png rename to frontend/public/logo512.png diff --git a/client/public/manifest.json b/frontend/public/manifest.json similarity index 100% rename from client/public/manifest.json rename to frontend/public/manifest.json diff --git a/client/public/robots.txt b/frontend/public/robots.txt similarity index 100% rename from client/public/robots.txt rename to frontend/public/robots.txt diff --git a/client/src/App.css b/frontend/src/App.css similarity index 100% rename from client/src/App.css rename to frontend/src/App.css diff --git a/client/src/App.test.tsx b/frontend/src/App.test.tsx similarity index 100% rename from client/src/App.test.tsx rename to frontend/src/App.test.tsx diff --git a/client/src/App.tsx b/frontend/src/App.tsx similarity index 100% rename from client/src/App.tsx rename to frontend/src/App.tsx diff --git a/client/src/components/ContactCard.tsx b/frontend/src/components/ContactCard.tsx similarity index 100% rename from client/src/components/ContactCard.tsx rename to frontend/src/components/ContactCard.tsx diff --git a/client/src/components/Dashboard.tsx b/frontend/src/components/Dashboard.tsx similarity index 100% rename from client/src/components/Dashboard.tsx rename to frontend/src/components/Dashboard.tsx diff --git a/client/src/components/Login.tsx b/frontend/src/components/Login.tsx similarity index 100% rename from client/src/components/Login.tsx rename to frontend/src/components/Login.tsx diff --git a/client/src/index.css b/frontend/src/index.css similarity index 100% rename from client/src/index.css rename to frontend/src/index.css diff --git a/client/src/index.tsx b/frontend/src/index.tsx similarity index 100% rename from client/src/index.tsx rename to frontend/src/index.tsx diff --git a/client/src/logo.svg b/frontend/src/logo.svg similarity index 100% rename from client/src/logo.svg rename to frontend/src/logo.svg diff --git a/client/src/react-app-env.d.ts b/frontend/src/react-app-env.d.ts similarity index 100% rename from client/src/react-app-env.d.ts rename to frontend/src/react-app-env.d.ts diff --git a/client/src/reportWebVitals.ts b/frontend/src/reportWebVitals.ts similarity index 100% rename from client/src/reportWebVitals.ts rename to frontend/src/reportWebVitals.ts diff --git a/client/src/setupTests.ts b/frontend/src/setupTests.ts similarity index 100% rename from client/src/setupTests.ts rename to frontend/src/setupTests.ts diff --git a/client/tailwind.config.js b/frontend/tailwind.config.js similarity index 100% rename from client/tailwind.config.js rename to frontend/tailwind.config.js diff --git a/client/tsconfig.json b/frontend/tsconfig.json similarity index 100% rename from client/tsconfig.json rename to frontend/tsconfig.json