Skip to content

Project Repository for Software Technology Course in School of Electrical & Computer Engineering N.T.U.A.

License

Notifications You must be signed in to change notification settings

Milwaukee-Bugs-NTUA/TL19-34

Repository files navigation

softeng2019b: Milwaukee Bugs' Project Repository

Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Η/Υ, ΕΜΠ

Εργασία στο μάθημα Τεχνολογία Λογισμικού, Χειμερινό εξάμηνο 2019 (softeng19b).

Δομή φακέλων

Η υποχρεωτική κοινή δομή των φακέλων του repository περιγράφεται στο έγγραφο των παραδοτέων (βλ. moodle μαθήματος).

Η δομή των φακέλων στο συγκεκριμένο παράδειγμα είναι η εξής:

  • Στον φάκελο back-end περιέχεται ο κώδικας του back-end.
  • Στον φάκελο cli-client περιέχεται ο κώδικας του command line application.
  • Στον φάκελο data-model περιέχεται ο κοινός κώδικας που ορίζει το data-model της εφαρμογής (π.χ. η κλάση ATLRecordForSpecificDay, χρησιμοποιείται σε όλα σημεία του κώδικα που πρέπει να γίνει διαχείριση τέτοιων ActualTotalLoad records). To data-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 εφαρμογής.

Διάγραμμα πακέτων (package diagram)

Στο διάγραμμα δεν εμφανίζεται το front-end app, καθώς δε μοιράζεται πακέτα με κάποιο από τα υπόλοιπα projects.

diagram

Κύριες τεχνολογίες του παραδείγματος

Back-end

CLI client

Rest api client

Front-end

Γρήγορες οδηγίες

  • Εγκατάσταση του 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"

About

Project Repository for Software Technology Course in School of Electrical & Computer Engineering N.T.U.A.

Topics

Resources

License

Stars

Watchers

Forks