Middle
Περιγραφή: Αναπτύσσουμε μια διαδικτυακή εφαρμογή που αποτελείται από μια ιστοσελίδα στην οποία μπορούν να σχεδιάζονται πολύγωνα. Επιπλέον, μπορεί να τροποποιηθεί ένα προηγουμένως αποθηκευμένο σχήμα. Δεν υπάρχουν περιορισμοί στο χρώμα. Δεν υπάρχουν περιορισμοί στον αριθμό των πολύγωνων. Δεν υπάρχουν περιορισμοί στη διάταξη των σχημάτων (μπορούν να επικαλύπτονται στην σελίδα). Εργασία: 1. Περιγράψτε τα δεδομένα που αποθηκεύονται στη βάση δεδομένων. 2. Προτείνετε μεθόδους REST API για την αλληλεπίδραση μεταξύ frontend και backend.
sobes.tech AI
Απάντηση από AI
- Σχήμα δεδομένων στη βάση δεδομένων:
-
Πίνακας
πολύγωνα:id(UUID ή SERIAL) — μοναδικός αναγνωριστικός αριθμός του πολύγωνουname(string) — προαιρετικό όνομαcolor(string) — χρώμα του σχήματος (π.χ., HEX ή RGB)
-
Πίνακας
σημεία:id— μοναδικός αναγνωριστικός αριθμός του σημείουpolygon_id— ξένος κλειδί στοπολύγωνα.idorder— σειρά του σημείου στο πολύγωνοx,y— συντεταγμένες του σημείου
Έτσι, μπορεί να αποθηκευτεί οποιοσδήποτε αριθμός πολύγωνων με οποιονδήποτε αριθμό κορυφών και χρωμάτων.
- REST API:
GET /polygons— λήψη λίστας όλων των πολύγωνων με τα σημεία και τα χρώματά τουςGET /polygons/{id}— λήψη συγκεκριμένου πολύγωνουPOST /polygons— δημιουργία νέου πολύγωνου- Σώμα αιτήματος: { "name": "", "color": "#ff0000", "points": [{"x":0, "y":0}, ...] }
PUT /polygons/{id}— ενημέρωση πολύγωνου (χρώμα, σημεία, όνομα)DELETE /polygons/{id}— διαγραφή πολύγωνου
Αυτή η σειρά μεθόδων επιτρέπει τη δημιουργία, ανάγνωση, τροποποίηση και διαγραφή πολύγωνων, καθώς και την λήψη της λίστας τους για εμφάνιση στο frontend.