Evo strukturirani pregled svih datoteka koje sam kreirao za aplikaciju za detekciju dimenzija na tehničkim nacrtima:
Frontend datoteke

index.php - Glavna stranica aplikacije

HTML struktura
Navigacija i raspored elemenata
Modali za unos dimenzija


css/style.css - Stilovi za aplikaciju

Stilizacija UI elemenata
Responsive dizajn
Prilagodbe za prikaz nacrta i dimenzija


js/main.js - Glavne JavaScript funkcije

Funkcije za manipulaciju dokumentima
Event listeneri za korisničke interakcije
Logika za automatsko i ručno označavanje
AJAX pozivi prema backend-u



Backend PHP datoteke

upload.php - Skripta za upload i obradu dokumenata

Prihvat dokumenata
Validacija tipova datoteka
Poziv Python skripte za analizu


detect_dimensions.php - Automatska detekcija dimenzija

Logika za detekciju
Kategorizacija dimenzija
JSON odgovor s rezultatima


manual_add.php - Ručno dodavanje dimenzija

Prihvat podataka o ručno dodanim dimenzijama
Ažuriranje PDF-a s oznakama
Ažuriranje baze podataka


export.php - Izvoz dimenzija u Excel

Generiranje Excel datoteke
Kategorizacija po listovima
Stiliziranje Excel izvještaja


download.php - Preuzimanje datoteka

Sigurno preuzimanje generiranih datoteka
Postavljanje odgovarajućih HTTP zaglavlja


db_config.php - Konfiguracija baze podataka

Podaci za spajanje na MySQL
Helper funkcije za interakciju s bazom


init_db.php - Inicijalizacija baze podataka

Stvaranje tablica
Unos osnovnih podataka (kategorije i podkategorije)



Python datoteke

improved_analyzer.py - Poboljšana skripta za analizu nacrta

Detekcija dimenzija u PDF dokumentima
Označavanje dimenzija na PDF-u
Kategorizacija prema regularnim izrazima
Generiranje Excel izvještaja



Dokumentacija

INSTALLATION.md - Upute za instalaciju

Preduvjeti
Koraci za postavljanje
Rješavanje problema



/var/www/html
├── index.php                  # Glavna stranica
├── upload.php                 # Skripta za upload
├── detect_dimensions.php      # Detekcija dimenzija
├── manual_add.php             # Ručno dodavanje
├── export.php                 # Izvoz u Excel
├── download.php               # Preuzimanje datoteka
├── db_config.php              # Konfiguracija baze
├── init_db.php                # Inicijalizacija baze
├── improved_analyzer.py       # Python skripta za analizu
├── INSTALLATION.md            # Upute za instalaciju
├── composer.json              # Definicija PHP ovisnosti
├── composer.lock              # Zaključane verzije ovisnosti
├── css/
│   └── style.css              # CSS stilovi
├── js/
│   └── main.js                # JavaScript funkcije
├── vendor/                    # Composer ovisnosti (generirani)
│   ├── autoload.php           # Composer autoloader
│   ├── phpoffice/             # PhpSpreadsheet ovisnost
│   │   └── phpspreadsheet/    # Biblioteka za Excel
│   └── ...                    # Ostale ovisnosti
└── uploads/                   # Direktorij za uploadane datoteke
    └── .htaccess              # Ograničenje direktnog pristupa
	
	
	
	
	
mjerenjeproba/
├── documents                  # Tablica dokumenata
│   ├── id                     # Primarni ključ
│   ├── original_name          # Originalno ime datoteke
│   ├── file_path              # Putanja do datoteke
│   ├── file_type              # Tip datoteke (PDF, JPEG...)
│   ├── upload_date            # Datum uploada
│   ├── marked_file_path       # Putanja do označene datoteke
│   ├── excel_file_path        # Putanja do Excel izvještaja
│   ├── user_id                # ID korisnika koji je uploadao dokument (za buduću autentifikaciju)
│   ├── status                 # Status dokumenta (processing, completed, failed)
│   ├── created_at             # Vrijeme stvaranja zapisa
│   └── updated_at             # Vrijeme zadnjeg ažuriranja
│   └── INDEX(status)          # Indeks za brzo filtriranje po statusu
│
├── dimensions                 # Tablica dimenzija
│   ├── id                     # Primarni ključ
│   ├── document_id            # Strani ključ na documents
│   ├── number                 # Broj dimenzije
│   ├── text                   # Tekst dimenzije
│   ├── dimension_type         # Tip dimenzije
│   ├── subtype                # Podtip dimenzije
│   ├── page                   # Broj stranice
│   ├── x_position             # X pozicija
│   ├── y_position             # Y pozicija
│   ├── created_at             # Vrijeme stvaranja zapisa
│   ├── updated_at             # Vrijeme zadnjeg ažuriranja
│   ├── INDEX(document_id)     # Indeks za brzo dohvaćanje dimenzija za dokument
│   └── INDEX(dimension_type, subtype) # Indeks za brzo filtriranje po tipu i podtipu
│
├── dimension_history          # Tablica povijesti promjena dimenzija
│   ├── id                     # Primarni ključ
│   ├── dimension_id           # ID dimenzije
│   ├── text_before            # Prethodni tekst
│   ├── text_after             # Novi tekst
│   ├── type_before            # Prethodni tip
│   ├── type_after             # Novi tip
│   ├── subtype_before         # Prethodni podtip
│   ├── subtype_after          # Novi podtip
│   ├── changed_by             # ID korisnika koji je napravio promjenu
│   ├── changed_at             # Vrijeme promjene
│   └── INDEX(dimension_id)    # Indeks za brzo dohvaćanje povijesti za dimenziju
│
├── categories                 # Tablica kategorija
│   ├── id                     # Primarni ključ
│   ├── name                   # Ime kategorije
│   ├── code                   # Kod kategorije (jedinstveni)
│   ├── description            # Opis kategorije
│   ├── created_at             # Vrijeme stvaranja zapisa
│   └── updated_at             # Vrijeme zadnjeg ažuriranja
│   └── UNIQUE INDEX(code)     # Jedinstveni indeks za kod kategorije
│
├── subcategories              # Tablica podkategorija
│   ├── id                     # Primarni ključ
│   ├── category_id            # Strani ključ na categories
│   ├── name                   # Ime podkategorije
│   ├── code                   # Kod podkategorije
│   ├── description            # Opis podkategorije
│   ├── created_at             # Vrijeme stvaranja zapisa
│   ├── updated_at             # Vrijeme zadnjeg ažuriranja
│   ├── INDEX(category_id)     # Indeks za brzo dohvaćanje podkategorija za kategoriju
│   └── UNIQUE INDEX(category_id, code) # Osigurava jedinstveni kod unutar kategorije
│
└── settings                   # Tablica za postavke aplikacije
    ├── id                     # Primarni ključ
    ├── setting_key            # Ključ postavke (jedinstveni)
    ├── setting_value          # Vrijednost postavke
    ├── description            # Opis postavke
    ├── created_at             # Vrijeme stvaranja zapisa
    ├── updated_at             # Vrijeme zadnjeg ažuriranja
    └── UNIQUE INDEX(setting_key) # Jedinstveni indeks za ključ postavke