Giter Site home page Giter Site logo

softeng19b's Introduction

softeng2019b Example 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.

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

diagram

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

Back-end

CLI client

Rest api client

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

  • Εγκατάσταση του Open JDK 11 από εδώ. Για τους linux/macos χρήστες, προτείνετε η χρήση του sdkman για την εγκατάστασή του. Δεν απαιτείται η "χειροκίνητη" εγκατάσταση άλλου λογισμικού (π.χ. Gradle).

  • Για την εκτέλεση του back-end:

cd back-end
./gradlew apprun

Το REST API base URL είναι το https://localhost:8765/energy/api, όπως απαιτείται από την εργασία.

  • Για την εκτέλεση του 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"

Χρησιμοποιήστε τον editor / IDE της προτίμησής σας για να επεκτείνετε τον κώδικα του παραδείγματος (αν και όπως επιθυμείτε).

Περισσότερα στο σχετικό φροντιστήριο...

softeng19b's People

Contributors

saikos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.