Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Η/Υ, ΕΜΠ
Εργασία στο μάθημα Τεχνολογία Λογισμικού, Χειμερινό εξάμηνο 2019 (softeng19b).
Η υποχρεωτική κοινή δομή των φακέλων του repository περιγράφεται στο έγγραφο των παραδοτέων (βλ. moodle μαθήματος).
Η δομή των φακέλων στο συγκεκριμένο παράδειγμα είναι η εξής:
- Στον φάκελο
back-end
περιέχεται ο κώδικας του back-end. - Στον φάκελο
cli-client
περιέχεται ο κώδικας του command line application. - Στον φάκελο
data-model
περιέχεται ο κοινός κώδικας που ορίζει το data-model της εφαρμογής (π.χ. η κλάση ATLRecordForSpecificDay, χρησιμοποιείται σε όλα σημεία του κώδικα που πρέπει να γίνει διαχείριση τέτοιων ActualTotalLoad records). Todata-model
, δηλαδή, είναι ένα ξεχωριστό software project, το οποίο περιέχει μια βιβλιοθήκη κώδικα (software library). Η βιβλιοθήκη αυτή (επανα)χρησιμοποιείται απ' όλα τα άλλα software projects του repository. - Στον φάκελο
rest-api-client
περιέχεται ο κοινός κώδικας που ενθυλακώνει τις client λειτουργίες του Rest API. Και εδώ έχουμε περίπτωση βιβλιοθήκης, η οποία επαναχρησιμοποιείται από τοcli-client
(για να εκτελεί την επικοινωνία με τοback-end
) και από το ίδιο τοback-end
, ως test dependency για την υλοποίηση των functional tests. - Στον φάκελο
front-end
περιέχεται ο κώδικας της front-end web εφαρμογής.
Στο διάγραμμα δεν εμφανίζεται το front-end app, καθώς δε μοιράζεται πακέτα με κάποιο από τα υπόλοιπα projects.
-
Εγκατάσταση του Open JDK 11 από εδώ. Για τους linux/macos χρήστες, προτείνετε η χρήση του sdkman για την εγκατάστασή του. Δεν απαιτείται η "χειροκίνητη" εγκατάσταση άλλου λογισμικού (π.χ. Gradle).
-
Για την εκτέλεση του back-end:
cd back-end
./gradlew apprun
Το REST API base URL είναι το https://localhost:8765/energy/api
, όπως απαιτείται από την εργασία.
- Για την ρύθμιση του εξυπηρετητή SQL και των διαπιστευτηρίων του:
cd back-end/src/main/resources/gr/ntua/ece/softeng19b/
Περαιτέρω οδηγίες δίνονται στον εν λόγω φάκελο.
- Για την εκτέλεση του cli app:
cd cli-client
./gradlew installDist
./build/install/energy_TEAM/bin/energy_TEAM -h
./build/install/energy_TEAM/bin/energy_TEAM ActualTotalLoad -h
Κατά την ανάπτυξη του cli app, μπορείτε να χρησιμοποιείτε:
./gradlew run -Pargs="ActualTotalLoad -h"