Skip to content

DSE-Western-Thessaloniki/validateQR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ValidateQR

Προαπαιτούμενα

  • PHP 8.2+ (με επεκτάσεις zip, imagick, mbstring)
  • Βάση δεδομένων που να παίζει με Laravel (mariadb, mysql, postgres, ...). Το έργο έχει δοκιμαστεί με MariaDB.
  • qpdfImageEmbed
  • composer
  • npm
  • supervisord για την επεξεργασία της ουράς εργασιών

Εγκατάσταση

Μετά την αντιγραφή των αρχείων στο διακομιστή, αντιγράφουμε το αρχείο .env.example στο αρχείο .env και ρυθμίζουμε κατάλληλα τις μεταβλητές ώστε να αντικατοπτρίζουν τις σωστές ρυθμίσεις για τη βάση δεδομένων μας (μεταβλητές που ξεκινούν με DB_) και το APP_URL ώστε να δείχνει στη σωστή διεύθυνση που θα βρίσκεται η εφαρμογή.

Εφόσον η εφαρμογή είναι σε κατάσταση παραγωγής θα πρέπει το APP_ENV να λέει production και το APP_DEBUG να είναι false.

Έπειτα για την εγκατάσταση των απαιτούμενων php πακέτων εκτελούμε:

composer install --optimize-autoloader --no-dev

Δημιουργούμε το κλειδί της εφαρμογής μας:

php artisan key:generate

Χτίζουμε τη βάση μας:

php artisan db:migrate
php artisan db:seed AdminUserSeeder

Εγκαθιστούμε τα npm πακέτα:

npm ci
npm run build

Χρειάζεται επίσης να ρυθμίσουμε τον queue worker με το supervisord σύμφωνα με τις οδηγίες που υπάρχουν στην τεκμηρίωση του Laravel Framework.

Η εγκατάσταση είναι έτοιμη και ο προκαθορισμένος χρήστης είναι ο admin με κωδικό password.

Ενημέρωση

Το σύστημα αποθηκεύει τα δεδομένα στη βάση και τα αρχεία στο φάκελο storage. Κατά την ενημέρωση μπορούν να σβηστούν όλα τα αρχεία εκτός από το .env και τον φάκελο storage. Μετά την ενημέρωση εκτελούμε:

composer install --optimize-autoloader --no-dev
php artisan db:migrate
php artisan queue:restart
php artisan optimize:clear
npm ci
npm run build

Οδηγίες χρήσης

Η εφαρμογή επιτρέπει τη δημιουργία ομάδας εγγράφων που έχουν ίδια ή παρόμοια θεματολογία ώστε να προστεθεί στο επάνω ή κάτω μέρος του εγγράφου ένα QR code ώστε να είναι δυνατή η επαλήθευση της γνησιότητας του εγγράφου. Το QR code περιέχει ένα σύνδεσμο προς την εφαρμογή μαζί με το μοναδικό αναγνωριστικό του εγγράφου και στην περίπτωση που το αναγνωριστικό είναι υπαρκτό γίνεται λήψη του πρωτότυπου εγγράφου αλλιώς εμφανίζεται αντίστοιχο μήνυμα.

Οι ομάδες εγγράφων έχουν νόημα κυρίως για λόγους οργάνωσης των εγγράφων στο διαχειριστικό κομμάτι της εφαρμογής. Δεν υπάρχει προς το παρόν κάποια διαφοροποίηση σε ότι αφορά την επαλήθευση των εγγράφων.

Κατά τη δημιουργία μιας νέας ομάδας ανοίγει ένας οδηγός που αποτελείται από 5 βήματα:

  1. Αρχικά ζητείται να δοθεί ένα όνομα στην ομάδα των εγγράφων
  2. Ανεβάζουμε τα έγγραφα στα οποία θέλουμε να προστεθεί το QR (πριν πάρουν ψηφιακή υπογραφή)
  3. Κάνουμε προσθήκη του QR και έπειτα κάνουμε λήψη των εγγράφων με το QR ώστε να υπογραφούν ψηφιακά (προσοχή δεν αλλάζουμε το όνομα του εγγράφου μετά τη λήψη αλλιώς θα αποτύχει η αντιστοίχιση στο επόμενο βήμα). Η θέση του QR επιλέγεται σύμφωνα με τις ρυθμίσεις στην αρχική οθόνη της εφαρμογή.
  4. Ανεβάζουμε τα έγγραφα με τις ψηφιακές υπογραφές ώστε να αντιστοιχηθούν στην εφαρμογή. Εφόσον έχει γίνει αντιστοίχισή τους θα εμφανιστεί το εικονίδιο ενός κλειδιού δίπλα στο έγγραφο.
  5. Δημοσιεύουμε την ομάδα αρχείων ώστε να είναι ορατή στον έξω κόσμο

Άδεια χρήσης

Το έργο διατίθεται υπό την άδεια GPL-3.0.