feat: add Layer 1 foundation - Docker, WhatsApp Core, API Gateway, Frontend setup

- docker-compose.yml with PostgreSQL, Redis, all services
- nginx/nginx.conf reverse proxy configuration
- services/whatsapp-core: package.json, tsconfig.json, Dockerfile
- services/api-gateway: requirements.txt, Dockerfile, app/__init__.py
- frontend: package.json, tsconfig.json, vite.config.ts, index.html, Dockerfile, nginx.conf

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Claude AI
2026-01-29 09:45:00 +00:00
parent b4355fbc96
commit 31d68bc118
15 changed files with 404 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
FROM python:3.11-slim
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc \
libpq-dev \
&& rm -rf /var/lib/apt/lists/*
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY app ./app
EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]

View File

@@ -0,0 +1 @@
# WhatsApp Centralizado - API Gateway

View File

@@ -0,0 +1,12 @@
fastapi==0.115.6
uvicorn[standard]==0.34.0
sqlalchemy==2.0.36
alembic==1.14.0
psycopg2-binary==2.9.10
python-jose[cryptography]==3.3.0
passlib[bcrypt]==1.7.4
python-multipart==0.0.20
pydantic==2.10.4
pydantic-settings==2.7.1
redis==5.2.1
httpx==0.28.1

View File

@@ -0,0 +1,19 @@
FROM node:20-alpine
WORKDIR /app
RUN apk add --no-cache python3 make g++
COPY package*.json ./
RUN npm ci
COPY tsconfig.json ./
COPY src ./src
RUN npm run build
RUN mkdir -p /app/sessions
EXPOSE 3001
CMD ["npm", "start"]

View File

@@ -0,0 +1,29 @@
{
"name": "whatsapp-core",
"version": "1.0.0",
"description": "WhatsApp Core service using Baileys",
"main": "dist/index.js",
"scripts": {
"build": "tsc",
"start": "node dist/index.js",
"dev": "ts-node-dev --respawn src/index.ts",
"lint": "eslint src/**/*.ts"
},
"dependencies": {
"@whiskeysockets/baileys": "^6.7.16",
"express": "^4.21.2",
"socket.io": "^4.8.1",
"ioredis": "^5.4.1",
"pino": "^9.6.0",
"qrcode": "^1.5.4",
"uuid": "^11.0.5"
},
"devDependencies": {
"@types/express": "^5.0.0",
"@types/node": "^22.10.7",
"@types/uuid": "^10.0.0",
"@types/qrcode": "^1.5.5",
"typescript": "^5.7.3",
"ts-node-dev": "^2.0.0"
}
}

View File

@@ -0,0 +1,19 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "commonjs",
"lib": ["ES2022"],
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"declaration": true,
"declarationMap": true,
"sourceMap": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}