ByggArkiv är en webbapplikation för dokumentation av byggprojekt genom fotografering och projektkommunikation. Systemet möjliggör enkel uppladdning och organisering av bilder från byggarbetsplatser med tillhörande metadata och anteckningar, samt realtidskommunikation via projektchatt (ByggChat) mellan projektmedlemmar, externa partners och administratörer.
Syfte: Dokumentera byggarbete med foton och videor från arbetsplatsen
Syfte: Ladda upp projektdokument, specifikationer och kontrakt
user (vanlig användare), admin (administratör), extern (extern partner)Syfte: Hantera underleverantörer, kunder och andra externa partners som kan bjudas in till projekt
externSyfte: Realtidskommunikation per projekt mellan projektmedlemmar, externa partners och administratörer
Syfte: Visa meddelanden för alla användare när de öppnar systemet
uploads/
├── [projekt-id]/
│ ├── YYYYMMDD_HHMMSS_[hash].jpg
│ ├── YYYYMMDD_HHMMSS_[hash].mp4
│ ├── YYYYMMDD_HHMMSS_[hash].json
│ ├── YYYYMMDD_HHMMSS_[hash]-thumb.jpg
│ └── ...
├── attic/
│ ├── YYYYMMDD_HHMMSS_[hash].jpg
│ ├── YYYYMMDD_HHMMSS_[hash].json
│ └── ...
└── ...
data/
├── projects.json # Projektlista med status
├── userids.json # Användardata (inklusive nickname)
├── image_numbers.json # Bildnummer-räknare
└── ...
chats/
├── [project_id]/
│ └── messages.json # Chatmeddelanden per projekt
└── ...
project_mapping.json # Projekt-deltagarmappning
chat_mapping.json # Chat-deltagarmappning
downloads/
├── projekt_1001_2025-01-15_12-30-45.zip
└── ...
logs/
├── upload_limits.json # Rate limiting data
├── security.log # Säkerhetsloggar
└── ...
{
"project_id": "1001",
"note": "Anteckning om bilden",
"user_id": "micke",
"original": "IMG_1234.jpg",
"mime": "image/jpeg",
"bytes": 2048576,
"stored_file": "20250828_151008_00e590.jpg",
"stored_at": "2025-08-28T15:10:08+02:00",
"file_type": "image",
"image_number": 42,
"thumb_file": "20250828_151008_00e590-thumb.jpg",
"upload_id": 1727536208
}
[
{
"user_id": "micke",
"full_name": "Micke Andersson",
"nickname": "Micke",
"mobile": "070-123 45 67",
"user_type": "user",
"active": true,
"pushover_user_key": "u1234567890abcdefghijklmnop",
"profile_image": "profile_micke.jpg",
"created_at": "2025-01-15 10:30:00",
"updated_at": "2025-01-20 14:15:00"
}
]
[
{
"id": "1001",
"name": "Villa Sjöblick, Storgatan 15",
"status": "active",
"description": "Nybyggnad villa",
"start_date": "2025-01-15"
},
{
"id": "1002",
"name": "BRF Björken, Ekvägen 7",
"status": "archived",
"description": "Renovering",
"start_date": "2024-06-01"
}
]
[
{
"id": "1734456781_a1b2c3d4",
"sender_type": "user|admin|extern",
"participant_id": "user_id",
"message": "Meddelandetext",
"type": "text|image|system",
"media_file": "filename.jpg",
"priority": 2,
"pinned": true,
"likes": ["user_id1", "user_id2"],
"reply_to": "message_id",
"notified_users": ["user_id1", "user_id2"],
"created_at": "2025-12-17T19:19:41+01:00"
}
]
[
{
"participant_id": "user_id",
"type": "user|extern",
"added_at": "2025-12-17T19:19:41+01:00",
"added_by": "admin_user_id"
}
]
data/, uploads/ och logs/ mappar skyddas från deploymentrights.phpuploads/ mappendocs/ mappen för lokal utvecklingsdokumentationdocs/ mapp: Lokal utvecklingsdokumentation (Markdown-filer)
README.md - Projektöversikt och instruktionerSYNC_INSTRUCTIONS.md - SynkroniseringsinstruktionerINSTALLATION_SYNOLOGY.md - Synology-installationsguideSPECIFIKATION.md - Teknisk specifikationadm/ mapp: Webbtillgänglig dokumentation (HTML-filer)
installation.html - Webbversion av installationsguidespecifikation.html - Webbversion av specifikationadmin.php - Admin-gränssnitt med länkar till dokumentation