- 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 βήματα:
- Αρχικά ζητείται να δοθεί ένα όνομα στην ομάδα των εγγράφων
- Ανεβάζουμε τα έγγραφα στα οποία θέλουμε να προστεθεί το QR (πριν πάρουν ψηφιακή υπογραφή)
- Κάνουμε προσθήκη του QR και έπειτα κάνουμε λήψη των εγγράφων με το QR ώστε να υπογραφούν ψηφιακά (προσοχή δεν αλλάζουμε το όνομα του εγγράφου μετά τη λήψη αλλιώς θα αποτύχει η αντιστοίχιση στο επόμενο βήμα). Η θέση του QR επιλέγεται σύμφωνα με τις ρυθμίσεις στην αρχική οθόνη της εφαρμογή.
- Ανεβάζουμε τα έγγραφα με τις ψηφιακές υπογραφές ώστε να αντιστοιχηθούν στην εφαρμογή. Εφόσον έχει γίνει αντιστοίχισή τους θα εμφανιστεί το εικονίδιο ενός κλειδιού δίπλα στο έγγραφο.
- Δημοσιεύουμε την ομάδα αρχείων ώστε να είναι ορατή στον έξω κόσμο
Το έργο διατίθεται υπό την άδεια GPL-3.0.