Εγκατάσταση και παραμετροποίηση


Mobile Artemis

Η διαδικασία εγκατάστασης της εφαρμογής Mobile Artemis αποτελείται από τα εξής μέρη:

  1. Εγκατάσταση IDE και Flutter
  2. Λήψη του κώδικα του Mobile Artemis αλλά και Artemis Web
  3. (Προαιρετικό) Δημιουργία Firebase project και διασύνδεσης της εφαρμογής με αυτό(προαιρετικό σε περίπτωση που ο χρήστης δεν ενδιαφέρεται να λαμβάνει push notifications για τα Hijacks που ανίχνευσε το ARTEMIS)
  4. (Προεραιτικό) Προσθήκη credentials στο Artemis web για λήψη SMS μέσω του prosms.gr ή διασύνδεση με άλλο πάροχο(προαιρετικό σε περίπτωση που ο χρήστης δεν ενδιαφέρεται να λαμβάνει SMS)
  5. Δημιουργία Android app bundle ή apk και iOS App Store Package για συσκευές με Android και iOS αντίστοιχα
Η εφαρμογή μπορεί να τρέξει στις παρακάτω εκδόσεις:
  • Android versions: 5.0 και νεότερες
  • iOS versions: 9.0 και νεότερες
Οι παραπάνω minimum εκδόσεις Android και iOS στις οποίες μπορεί να τρέξει η εφαρμογή μπορεί να αλλάξουν μελλοντικά λόγω νέων εκδόσεων των packages και plugins που χρησιμοποιεί η εφαρμογή καθώς και του ίδιου του Flutter framework.
Εγκατάσταση Flutter και IDE
  • Εγκατάσταση Flutter
    1. Για τη λήψη και εγκατάσταση του Flutter ακολουθήστε τον επίσημο οδηγό εγκατάστασης του Flutter ανάλογα με λειτουργικό σας σύστημα στον παρακάτω σύνδεσμο: https://docs.flutter.dev/get-started/install
    2. Μόλις ολοκληρωθεί η παραπάνω διαδικασία για να βεβαιωθείτε ότι η εγκατάσταση έγινε σωστά μπορείτε να τρέξετε την εντολή: flutter doctor
    Σε περίπτωση που έχετε ήδη εγκαταστήσει το Flutter βεβαιωθείτε ότι χρησιμοποιείτε την πιο πρόσφατη έκδοση του. Για να ελέγξετε τη version του τρέξτε την εντολή: flutter -–version Για να λάβετε την τελευταία έκδοση του τρέξτε την εντολή: flutter upgrade
  • Εγκατάσταση IDE
    1. Κατεβάστε και εγκαταστήστε το Android Studio από το επίσημο website
    2. Σε περίπτωση που προτιμάτε το Visual Studio Code μπορείτε να το εγκαταστήσετε από εδώ
    Μόλις ολοκληρωθεί η εγκατάσταση του Android Studio ή του Visual Studio Code θα χρειαστεί να εγκαταστήσετε και το flutter plugin για το IDE που επιλέξατε παραπάνω.

Λήψη του κώδικα του Mobile Artemis αλλά και Artemis Web
  1. Για να κάνετε λήψη του κώδικα της εφαρμογής για κινητά τρέξτε την εντολή git clone git@github.com:FORTH-ICS-INSPIRE/artemis_mobile.git
  2. Στο root folder του project που μόλις λάβατε τρέξτε την εντολή παρακάτω για να λάβετε τα προαπαιτούμενα που περιέχονται στο pubspec.yaml και χρειάζεται η εφαρμογή για να τρέξει flutter pub get
  3. Προσθέστε το url του Artemis μέσα στο /lib/services/api_service.dart στο apiUrl
  4. (Optional) Σε περίπτωση που θα θέλατε να χρησιμοποιήσετε τα push notifications θα χρειαστεί να κάνετε λήψη του κώδικα του Artemis Web τρέχοντας την εντολή git clone https://github.com/FORTH-ICS-INSPIRE/artemis-web.git

(Προαιρετικό) Δημιουργία Firebase project και διασύνδεσης της εφαρμογής με αυτό
  1. Δημιουργήστε ένα νέο firebase project εδώ
  2. Εάν δεν έχετε ήδη εγκατεστημένο το Firebase CLI εγκαταστήστε το χρησιμοποιώντας τον επίσημο οδηγό εγκατάστασης εδώ
  3. Κάντε login στο firebase χρησιμοποιώντας το Google account σας με την εντολή firebase login
  4. Εγκαταστήστε το FlutterFire CLI τρέχοντας την εντολή dart pub global activate flutterfire_cli
  5. Για να χρησιμοποιήσετε το flutterfire CLI για να συνδέσετε το Mobile Artemis με το firebase project που δημιουργήσατε τρέξτε από το root folder του project την εντολή flutterfire configure
  6. Ανοίξτε το αρχείο lib/services/push_notification_service.dart και προσθέστε την παρακάτω γραμμή import 'firebase_options.dart';
  7. Στο ίδιο αρχείο προσθέστε μέσα στην firebase initialize app τα παρακάτω options: options: DefaultFirebaseOptions.currentPlatform,
  8. Έπειτα θα χρειαστεί να δημιουργήσετε ένα private key για το service account σας. Μπορείτε να ακολουθήσετε τον επίσημο οδηγό εδώ. Το κλειδί θα περιέχεται σε ένα json αρχείο.
  9. Ανοίξτε το Artemis Web project και μέσα στο .env αρχείο προσθέστε το file path στο SERVICE_ACCOUNT_PATH
  10. Για να λαμβάνετε push notifications σε iOS συσκευές θα πρέπει να κάνετε κάποια επιπλέον βήματα. Ακολουθείστε τον οδηγό εδώ

(Προαιρετικό) Προσθήκη credentials στο Artemis web για λήψη SMS

Για την λήψη SMS υπάρχει ένα reference implementation με χρήση του prosms.gr. Σε περίπτωση που επιλεγεί το prosms ως provider προσθέστε τα SMS_USERNAME, SMS_PASSWORD, και SMS_ORIGINATOR μέσα στο .env αρχείο στο Artemis Web project
Για την χρήση άλλου παρόχου SMS θα χρειαστεί να τροποποιήσετε την sendSMS() μέσα στο apps/artemis-notification/src/main.ts στο Artemis Web project.


Δημιουργία εκτελέσιμων για Android και iOS
  • Για τη δημιουργία apk για Android συσκευές τρέξτε από το root folder flutter build apk
  • Για την δημιουργία app bundle για Android συσκευές τρέξτε από το root folder flutter build appbundle
  • Για τη δημιουργία ipa για iOS συσκευές τρέξτε από το root folder flutter build ipa

    Σημείωση: Για τη δημιουργία του ipa απαιτείται η χρήση Mac συσκευής


^