BugReport/README.md

6.1 KiB

BugReport

BugReport logo

BugReport je webová aplikácia na sledovanie a správu chýb (bug tracking system) s jednoduchým a intuitívnym používateľským rozhraním. Aplikácia umožňuje pridávať, upravovať, kategorizovať a sledovať stav bug reportov pomocou Kanban-štýl rozhrania s drag-and-drop funkcionalitou.

<br /><br />``<br />

Funkcie

  • Kanban rozhranie - vizuálne sledovanie stavu bug reportov v štyroch kategóriách (Nezaradené, Čakajúce, Rozpracované, Blokované)
  • Drag-and-drop - jednoduché presúvanie reportov medzi kategóriami
  • Prioritizácia - nastavenie priority reportov (Nízka, Stredná, Vysoká, Kritická)
  • Kategorizácia - zaradenie reportov do skupín (Control Panel, Task.Platon.sk, WebsiteIP, Antispam)
  • Detailný pohľad - zobrazenie a úprava detailov reportu
  • REST API - prístup k dátam cez API endpoint

Diagram stavov pre BUG

Screenshot

Technológie

Backend

  • PHP
  • SQLite databáza
  • Medoo - PHP databázový framework

Frontend

Štruktúra projektu

BugReport/
├── api.php                 # API endpoint
├── config.php              # Konfigurácia aplikácie
├── index.php               # Vstupný bod aplikácie
├── data/                   # Dáta aplikácie
│   └── database.db         # SQLite databáza
├── lib/                    # PHP knižnice
│   ├── functions.inc.php   # Pomocné funkcie
│   └── Medoo/              # Medoo databázový framework
└── webapp/                 # Frontend aplikácia (Vue.js)
    ├── public/             # Statické súbory
    ├── scripts/            # Skripty pre build
    └── src/                # Zdrojový kód
        ├── assets/         # Assety (CSS, obrázky)
        ├── components/     # Vue komponenty
        ├── views/          # Vue stránky
        ├── App.vue         # Hlavná Vue komponenta
        ├── backend.js      # Komunikácia s API
        ├── events.js       # Správa udalostí
        ├── main.js         # Vstupný bod Vue aplikácie
        └── router.js       # Vue Router konfigurácia

Inštalácia a spustenie

Požiadavky

  • PHP 7.4 alebo novší
  • Webový server (Apache, Nginx)
  • Node.js a npm pre vývoj frontendu

Backend

  1. Skopírujte súbory do webového adresára
  2. Uistite sa, že adresárdata má práva na zápis
  3. Prístup k aplikácii cez webový prehliadač

Frontend (pre vývoj)

  1. Prejdite do adresárawebapp
  2. Nainštalujte závislosti:
    npm install
    
  3. Spustite vývojový server:
    npm run dev
    
  4. Pre build produkčnej verzie:
    npm run build
    

API dokumentácia

API je dostupné cez api.php endpoint. Všetky požiadavky vracajú JSON odpoveď.

Dostupné endpointy

Akcia Popis Parametre
help Zobrazí nápovedu -
add Pridá nový report title, description, status, group, priority
update Aktualizuje report report_id, report_data (JSON)
delete Vymaže report report_id
get Získa jeden report report_id
getAll Získa všetky reporty status (voliteľné)
getAllGrouped Získa reporty zoskupené podľa stavu status (voliteľné)
updateOrdNum Aktualizuje poradie reportov ordnums (JSON)
updateStatus Aktualizuje stav reportu report_id, status
attachmentAdd Pridá prílohu k reportu report_id, attachment_type, attachment_content
attachmentUpdate Aktualizuje prílohu attachment_id, attachment_content
attachmentGetAll Získa všetky prílohy reportu report_id

Príklad API volania

// Získanie všetkých reportov
fetch('api.php?action=getAll')
  .then(response => response.json())
  .then(data => console.log(data));

// Pridanie nového reportu
fetch('api.php?action=add', {
  method: 'POST',
  body: new FormData(document.querySelector('form'))
})
  .then(response => response.json())
  .then(data => console.log(data));

Stavy reportov

ID Stav
0 Nezaradené
1 Čakajúce
2 Rozpracované
3 Blokované
4 Vyriešený

Priority reportov

ID Priorita
0 Nízka
1 Stredná
2 Vysoká
3 Kritická

Skupiny reportov

  • cp - Control Panel
  • task - Task.Platon.sk
  • websiteip - WebsiteIP
  • antispam - Antispam

Licencia

Tento projekt je licencovaný pod MIT licenciou.