Επισκόπηση
Μια μικροϋπηρεσία PDF για το οικοσύστημα της σχολής βυζαντινής μουσικής: λαμβάνει τα δεδομένα εγγραφής και συμπληρώνει το επίσημο έντυπο εγγραφής της σχολής — μια δουλειά πολύ λεπτομερής για να γίνεται αξιόπιστα στην κύρια πλατφόρμα.
Τι έφτιαξα
Ένα POST-only JSON API σε Bun.serve. Συμπληρώνει ~25 πεδία του επίσημου εντύπου (στοιχεία μαθητή, καθηγητής, ακαδημαϊκό έτος με έξυπνο κανόνα ορίου Σεπτεμβρίου, παραλλαγές οργάνου) σε hardcoded συντεταγμένες προτύπου — σύστημα συντεταγμένων που απαίτησε αντιστροφή της προέλευσης από κάτω αριστερά του PDF. Η γραμματοσειρά DidactGothic ενσωματώνεται μέσω fontkit, και τόσο η γραμματοσειρά όσο και το πρότυπο κρυπτογραφούνται σε cache σε στατικά πεδία.
Τα αιτήματα παρτίδας συγχωνεύουν πολλά συμπληρωμένα έντυπα σε ένα PDF μέσω copyPages/addPage. Τα μοντέλα αιτημάτων είναι τυποποιημένα με κοινές διακριτές ενώσεις.
Η ασφάλεια ακολουθεί το πρότυπο του οικοσυστήματος: χειρισμός CORS preflight, λίστα επιτρεπόμενων referer και έλεγχος ταυτότητας Bearer token με διαμεσολάβηση της συνόδου στο endpoint auth της σχολής.
Τεχνικά highlights
- Συμπλήρωση προτύπου σε συντεταγμένες εικονοστοιχείων με custom γραμματοσειρά (fontkit)
- Έξοδος PDF ενός ή πολλών μαθητών (συγχώνευση εγγράφων)
- Στατική cache προτύπων και γραμματοσειρών από το δίκτυο
- Λίστα επιτρεπόμενων referer συν έλεγχος ταυτότητας μέσω συνόδου
- Multi-stage Docker build σε
oven/bun
Αποτέλεσμα
Τρέχει ως Docker υπηρεσία δίπλα στην πλατφόρμα της σχολής, καλούμενη από τη ροή εγγραφών.