Files
tilbudgivern/docs/deployment/DEPLOYMENT.md
alexpolo1 4a372d2e28 clean up
2025-10-30 18:28:58 +00:00

3.2 KiB

Deployment Guide - Tilbudgivern

🚀 Quick Deployment til 192.168.1.24

Forudsætninger på target server:

# Installer Node.js 18+
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

# Installer PostgreSQL
sudo apt-get install -y postgresql postgresql-contrib

# Installer PM2 globalt
sudo npm install -g pm2 serve

1. Clone repository

git clone [repository-url] tilbudgivern
cd tilbudgivern

2. Installer dependencies

# Root projekt
npm install

# Backend
cd backend && npm install

# Frontend
cd ../frontend && npm install && npm run build
cd ..

3. Setup database

# Start PostgreSQL
sudo systemctl start postgresql
sudo systemctl enable postgresql

# Opret database
sudo -u postgres createdb tilbudgivern

# Sæt password (valgfrit)
sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres123';"

4. Konfigurer environment

# Kopier og rediger .env fil
cp backend/.env.example backend/.env

# Rediger backend/.env og tilføj:
# OPENAI_API_KEY=din_rigtige_api_noegle
# DB_PASSWORD=postgres123 (hvis du satte password)

5. Start applikationen

# Start med PM2
pm2 start ecosystem.config.json

# Sæt PM2 til autostart
pm2 startup
pm2 save

6. Verificer deployment

# Test backend
curl http://localhost:3001/health

# Test frontend
curl http://localhost:3000

# Test AI tilbud
curl -X POST http://localhost:3001/api/quotes/generate \
  -H "Content-Type: application/json" \
  -d '{"description": "Test gulvlægning", "area": 20, "projectType": "Gulvlægning"}'

🌐 Adgang fra andre maskiner

Applikationen vil være tilgængelig på:

Firewall (hvis nødvendigt)

sudo ufw allow 3000
sudo ufw allow 3001

📊 Monitoring

# Se PM2 status
pm2 status

# Se logs
pm2 logs

# Restart services
pm2 restart all

# Stop services
pm2 stop all

🔧 Troubleshooting

Database problemer:

# Tjek PostgreSQL status
sudo systemctl status postgresql

# Restart PostgreSQL
sudo systemctl restart postgresql

PM2 problemer:

# Stop alt og start forfra
pm2 delete all
pm2 start ecosystem.config.json

OpenAI API problemer:

  • Verificer at API nøglen er korrekt i backend/.env
  • Tjek at du har kredit på din OpenAI konto

📝 Demo Script for Kunde

  1. Åbn browserhttp://192.168.1.24:3000
  2. Udfyld tilbudsformular:
    • Beskrivelse: "Lægning af 30 m² klikgulv i stue og gang, inkl. fjernelse af gammelt gulv"
    • Projekttype: "Gulvlægning"
    • Areal: 30
    • Yderligere info: "Skal være færdigt inden 2 uger"
  3. Klik "Generer tilbud" - vis AI-genereret tilbud
  4. Test feedback funktion - klik "Juster tilbud" og skriv "Kan du tilføje malerarbejde?"
  5. Vis database funktionalitet - alle tilbud gemmes automatisk

🎯 Funktioner at demonstrere:

AI-genererede detaljerede tilbud Realistiske priser baseret på erfaringsdata Interaktiv feedback og justering Professionel formatering Audit trail - alle tilbud gemmes Responsivt design (mobil/desktop) Sikkerhed og rate limiting