Skip to content

antokarant/SaaS_Team31

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SaaS Team 31

NTUA SaaS project 2021

Εφαρμογή Ερωτοαπαντήσεων

Καραντώνης Αντώνιος el17439
Κυριακίδης Δημήτριος el17077

 

Σχεδιαστικές Επιλογές

Αρχιτεκτονικές που επιλέχθηκαν:

  • MVC (monolith) σε αυτό το branch (main)
  • SOA στο αντίστοιχο branch soa

Το branch mvc χρησιμοποιήθηκε για την τοπική ανάπτυξη της εργασίας και έχει γίνει merge στο main.

Σχετικά με τους επισκέπτες – χρήστες της εφαρμογής που δεν είναι εγγεγραμμένοι και συνδεδεμένοι, αποφασίστηκε να έχουν τις εξής δυνατότητες:

  • Προβολή λίστας όλων των ερωτήσεων
  • Προβολή μεμονωμένης σελίδας ερώτησης
  • Καμία δυνατότητα δημοσίευσης

Τεκμηρίωση

Όλα τα διαγράμματα UML και των δύο υλοποιήσεων βρίσκονται στον φάκελο documentation του παρόντος branch, τόσο σε ενιαίο vpp αρχείο όσο και σε μορφή εικόνων.

Υλοποίηση

Για την εφαρμογή MVC:

  • Το back-end υλοποιήθηκε με το framework NestJS και το TypeORM για την σύνδεση με την βάση δεδομένων, και το deployment έχει γίνει στο Heroku εδώ. Μαζί με τον back-end server, στην διεύθυνση αυτήν τρέχει και η σχεσιακή βάση δεδομένων της εφαρμογής.
  • Το front-end με το framework React, το deployment έχει γίνει στο Heroku εδώ. Ο σχεδιασμός του user interface βασίστηκε στα wireframes της εκφώνησης, με όσες διαφοροποιήσεις κρίθηκαν αναγκαίες για την λειτουργία της εφαρμογής.

Για την εφαρμογή SOA:

  • Το back-end υλοποιήθηκε με το framework NestJS, ενώ για το service bus χρησιμοποιήθηκε Express. Το back-end έχει διαχωρισθεί στα εξής τρία τμήματα:
  • Το front-end με το framework React, το deployment έχει γίνει στο Heroku εδώ.

Επισημάνσεις

Τόσο το back-end όσο και το front-end που τρέχουν στο heroku αν έχουν καιρό να χρησιμοποιηθούν μπορεί να καθυστερήσουν λίγο την πρώτη φορά μέχρι να ανακτήσουν την σωστή λειτουργία τους.

Στο πλαίσιο της εργασίας χρησιμοποιήθηκε το εργαλείο Upsource για την διαδικασία code review, έως ότου η υπηρεσία αυτή έπαψε να λειτουργεί στο YouTrack, με μήνυμα "Authentication Failed".

Κατά την υλοποίηση της MVC αρχιτεκτονικής αξιοποιήθηκαν τα εργαλεία του NestJS για την κατασκευή database migrations, που διευκόλυναν τις ανάγκες για αλλαγή schema στην διάρκεια της ανάπτυξης, καθώς και ορισμένα unit tests για την εξασφάλιση των βασικών λειτουργιών της εφαρμογής.

Στο YouTrack αποτυπώνεται η σταδιακή εξέλιξη του project μέσω των τεσσάρων διαφορετικών sprints και των αντίστοιχων tickets που διεκπεραιώθηκαν στην πορεία καθενός εξ αυτών.