SlideShare a Scribd company logo
e-ΕΠΑΛ
Το έργο, η ομάδα, οι
τεχνολογικές προκλήσεις
Ένα ανοικτό σύστημα στην υπηρεσία της
δημόσιας εκπαίδευσης
Το έργο e-EPAL
Τι είναι το e-epal:
Πληροφοριακό Σύστημα για την ηλεκτρονική δήλωση προτίμησης των μαθητών που θα φοιτήσουν στα
Επαγγελματικά Λύκεια της χώρας
Σκοπός:
● Βελτίωση της διαδικασίας
● Μείωση της γραφειοκρατίας
● Ελαχιστοποίηση της ανάγκης για φυσική παρουσία στη διαδικασία εγγραφής
Ωφελούμενοι:
● Πολίτες
● Διοικητικές δομές
Το έργο e-EPAL
Ιδιοκτήτης του έργου:
Διεύθυνση Επαγγελματικής Εκπαίδευσης του ΥΠΠΕΘ
(http://www.minedu.gov.gr/texniki-ekpaideusi-2/to-thema-texniki-ekpaideusi)
Δημιουργός του έργου:
Ομάδα ανάπτυξης λογισμικού του ΥΠΠΕΘ αποτελούμενη από αποσπασμένους
εκπαιδευτικούς
(Διεύθυνση Ηλεκτρονικής Διακυβέρνησης του ΥΠΠΕΘ)
Έργα της ομάδας
Ε-epal
Ε-iek
E-frontistirio
Φόρμες
Διανομές Ανοιχτού Λογισμικού
Interoperability.gr
Edulabs
Relabs
Wikimedia για τις ανάγκες του Γενικού Συμβουλίου Βιβλιοθηκών.
Ευέλικτη μεθοδολογία ανάπτυξης
Συνεργατικά εργαλεία
Μοντέλο agile / scrum
● Light Scrum
● Sprint backlogs
Περιβάλλον ανάπτυξης
Αρχιτεκτονικήτηςεφαρμογής
Αποθετήριο git.minedu.gov.gr/itminedu/e-epal
Όλα τα σχετικά με το drupal
.
├── drupal/
├── . . .
├── pdfs/
├── source/
├── README.md
├── .bootstraprc
├── package.json
├── package-lock.json
├── tsconfig.json
└── webpack.config.js
Όλα τα σχετικά με την angular
Αρχεία ρυθμίσεων ανάπτυξης /
εξαρτήσεων / παραγωγικής
λειτουργίας
Αποθετήριο git.minedu.gov.gr/itminedu/e-epal
├── source/
│ ├── actions/
│ ├── components/
│ │ ├── home.ts
│ │ └── . . .
│ ├── containers/
│ ├── guards/
│ ├── pipes/
│ ├── services/
│ ├── store/
│ │ ├── store.ts
│ │ ├── index.ts
│ │ └── . . .
│ ├── index.html
│ ├── app.ts
│ ├── app.routes.ts
│ ├── app.settings.deployment.ts
│ ├── constants.ts
│ └── typings.d.ts
Όλα ξεκινούν εδώ …
Αρχεία συσχετίσεων / ρυθμίσεων
και άλλα
Οργάνωση ανάλογα με τη
λειτουργικότητα
Αποθετήριο git.minedu.gov.gr/itminedu/e-epal
├── drupal/
│ └── modules/
│ ├── casost/
│ ├── epaldeploysystem/
│ ├── epalreadydata/
│ ├── epal/
│ │ ├── epal.routing.yml
│ │ ├── epal.services.yml
│ │ ├── config/
│ │ │ └── install/
│ │ ├── src
│ │ │ ├── Controller/
│ │ │ ├── Entity/
│ │ │ ├── Form/
│ │ │ └── Tests/
│ │ └── templates/
│ └── oauthost/
Σε κάθε module υπάρχουν
- αρχεία ρυθμίσεων (π.χ.
routing)
- κώδικας που υλοποιεί τη
λειτουργικότητα του module
Οργάνωση ανά module
● Προγραμματιστική δημιουργία των απαιτούμενων entities
Πλήρης έλεγχος της δημιουργίας του database schema
Δυνατότητα μεταφοράς του κώδικα δημιουργίας
● drupal console, drupal drush
● Entity API
Γρήγορη ανάκτηση δεδομένων (read)
Αργή αποθήκευση δεδομένων (write)
Το Drupal 8 ως back-end server:
αποθήκευση δεδομένων και entities
Αντιμετώπιση καθυστέρησης για λειτουργία
εγγραφής: ο αλγόριθμος κατανομής μαθητών
Πρόβλημα: παρατηρήθηκε σημαντική καθυστέρηση σε περίπτωση
λειτουργιών μαζικών εγγραφών.
Αντιμετώπιση:
μη χρήση του entity API
χρήση του PDO driver για προσπέλαση στη βάση
Χρήση Entity API για λειτουργία store Χρήση PDO Driver για λειτουργία store
Database Schema
Το Drupal 8 ως back-end server:
δημιουργία και διάθεση REST εξόδου (1)
δημιουργία προβολών (views) με REST export
ευέλικτη και γρήγορη δημιουργία rest εξόδων, για τα
αποτελέσματα συμβατικών ερωτημάτων (queries) στα δεδομένα
δύσκολη δημιουργία περισσότερο πολύπλοκων ερωτημάτων
Το Drupal 8 ως back-end server:
δημιουργία και διάθεση REST εξόδου (2)
● δημιουργία custom controllers με REST έξοδο
πλήρης έλεγχος και δυνατότητα υλοποίησης πολύπλοκων
ερωτημάτων
δυνατότητα επικοινωνίας με το front-end για οποιοδήποτε
είδος λειτουργίας
● routing system
○ βασισμένο στο Symphony Routing Component
Το Drupal 8 ως back-end server: εξουσιοδότηση
και δημιουργία χρηστών
● διαχείριση χρηστών και απόδοση ρόλων
● ανάπτυξη OAuth module
○ πλήρης έλεγχος της διαδικασίας εξουσιοδότησης πρόσβασης μέσω του
TaxisNet και δημιουργίας χρήστη με ρόλο αιτούντα
● ανάπτυξη CAS module
○ πλήρης έλεγχος της διαδικασίας εξουσιοδότησης πρόσβασης μέσω του
Πανελλήνιου Σχολικού Δικτύου και δημιουργίας χρήστη με ρόλο Διοικητικό
Ρύθμιση Drupal
● Ρύθμιση εφαρμογής μέσω ανάπτυξης module ρύθμισης
○ εγκατάσταση προβολών, rest resources, ρόλων χρηστών μέσω .yaml αρχείων
● Ρύθμιση παραμέτρων για κάθε custom module μέσω εγγραφής σε
κατάλληλο entity ρυθμίσεων
● Ρύθμιση γενικών παραμέτρων για κάθε module μέσω του αρχείου
<module_name>.module
● “Angular is a platform that makes it easy to build applications with
the web” - https://devdocs.io/angular/
● Είναι framework, όχι library
● Typescript: Απόδοση ομάδας - Ομοιογενής κώδικας
● RxJS: Reactive Programming
● Learning curve: Συγκριτικά μακρύ
RxJS - Taming the Asynchronous Beast
● Θεμέλιος λίθος στην Angular
● Η προτεινόμενη μέθοδος ελέγχου του ασύγχρονου κώδικα ή
κώδικα βασισμένου σε callbacks
● Απαιτεί μελέτη σε βάθος
● Observable, BehaviorSubject, Subscription
AsyncPipe και RxJS
source/components/student-application-form/region.schools.select.ts
BehaviorSubject: Initialization
source/components/student-application-form/region.schools.select.ts
Client state management
● State Container: http://redux.js.org/
● Angular Redux Store Integration:
https://github.com/angular-redux/store
● State Immutability: https://facebook.github.io/immutable-js/
● Development tools:
https://github.com/zalmoxisus/redux-devtools-extension
Client State Management: Types
source/store/regionschools/regionschools.types.ts
Client State Management: Reducer
source/store/regionschools/regionschools.reducer.ts
select() και BehaviorSubject
source/store/regionschools/regionschools.reducer.ts
Milestones 2017 - 2018
● Έκδοση 1: Angular 2.x, ng2-redux - Ιούνιος 2017
● Έκδοση 2: Angular 4.x upgrade, angular-redux/store - Αύγουστος
2017
● Χρήση ngc για AOT compilation
● Upgrade σε Angular 5
● Διαλειτουργικότητα με πληροφοριακό σύστημα εγγραφών
μαθητών
● Έκδοση 3: Υλοποίηση λειτουργικών επεκτάσεων
Θα μας βρείτε στο
https://git.minedu.gov.gr/itminedu/e-epal
Production environment:
https://e-epal.minedu.gov.gr

More Related Content

Similar to e-ΕΠΑΛ: Το έργο, η ομάδα, οι τεχνολογικές προκλήσεις - FOSSCOMM 2017

Presentation 6
Presentation 6Presentation 6
Presentation 6
Maria Loizou
 
Τεχνολογική επισκόπηση
Τεχνολογική επισκόπησηΤεχνολογική επισκόπηση
Τεχνολογική επισκόπησηStesia Papavasileiou
 
Java free-book
Java free-bookJava free-book
Java free-book
ble nature
 
553193902-2-Intro-to-Java.pdf
553193902-2-Intro-to-Java.pdf553193902-2-Intro-to-Java.pdf
553193902-2-Intro-to-Java.pdf
DimitraPapalitsa
 
Beauty salon
Beauty salonBeauty salon
Beauty salon
'Yiannis Stav'
 
KanoutasThomasThesis
KanoutasThomasThesisKanoutasThomasThesis
KanoutasThomasThesis
ThomasKanoutas
 
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούΑνάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
ISSEL
 
Development of an automatic procedure for Continuous Integration
Development of an automatic procedure for Continuous IntegrationDevelopment of an automatic procedure for Continuous Integration
Development of an automatic procedure for Continuous Integration
ISSEL
 
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGOΕφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO
Iraklis Markelis
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΕΡΓΑΛΕΙΟΥ ΓΙΑ ΔΗΜΙΟΥΡΓΙΑ ΨΗΦΙΑΚΗΣ ΑΦΙΣΑΣ
ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΕΡΓΑΛΕΙΟΥ ΓΙΑ ΔΗΜΙΟΥΡΓΙΑ ΨΗΦΙΑΚΗΣ ΑΦΙΣΑΣΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΕΡΓΑΛΕΙΟΥ ΓΙΑ ΔΗΜΙΟΥΡΓΙΑ ΨΗΦΙΑΚΗΣ ΑΦΙΣΑΣ
ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΕΡΓΑΛΕΙΟΥ ΓΙΑ ΔΗΜΙΟΥΡΓΙΑ ΨΗΦΙΑΚΗΣ ΑΦΙΣΑΣathanasia trakada
 
Drupal CMS, μια σύντομη παρουσίαση
Drupal CMS, μια σύντομη παρουσίασηDrupal CMS, μια σύντομη παρουσίαση
Drupal CMS, μια σύντομη παρουσίαση
Jonny Arvanitakis
 
Web2 tools
Web2 toolsWeb2 tools
Web2 toolselena_ka
 
Avouris teaching python
Avouris teaching pythonAvouris teaching python
Avouris teaching python
Nikolaos Avouris
 
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
ISSEL
 
Anastasiadis manosmsc2014present
Anastasiadis manosmsc2014presentAnastasiadis manosmsc2014present
Anastasiadis manosmsc2014presentManos Anastasiadis
 
Creating an Open Archival Information System compliant archive for CERN
Creating an Open Archival Information System compliant archive for CERNCreating an Open Archival Information System compliant archive for CERN
Creating an Open Archival Information System compliant archive for CERN
ISSEL
 

Similar to e-ΕΠΑΛ: Το έργο, η ομάδα, οι τεχνολογικές προκλήσεις - FOSSCOMM 2017 (20)

Presentation 6
Presentation 6Presentation 6
Presentation 6
 
Presentation 6 (1)
Presentation 6 (1)Presentation 6 (1)
Presentation 6 (1)
 
Τεχνολογική επισκόπηση
Τεχνολογική επισκόπησηΤεχνολογική επισκόπηση
Τεχνολογική επισκόπηση
 
Java free-book
Java free-bookJava free-book
Java free-book
 
553193902-2-Intro-to-Java.pdf
553193902-2-Intro-to-Java.pdf553193902-2-Intro-to-Java.pdf
553193902-2-Intro-to-Java.pdf
 
Beauty salon
Beauty salonBeauty salon
Beauty salon
 
KanoutasThomasThesis
KanoutasThomasThesisKanoutasThomasThesis
KanoutasThomasThesis
 
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούΑνάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
 
Development of an automatic procedure for Continuous Integration
Development of an automatic procedure for Continuous IntegrationDevelopment of an automatic procedure for Continuous Integration
Development of an automatic procedure for Continuous Integration
 
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGOΕφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΕΡΓΑΛΕΙΟΥ ΓΙΑ ΔΗΜΙΟΥΡΓΙΑ ΨΗΦΙΑΚΗΣ ΑΦΙΣΑΣ
ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΕΡΓΑΛΕΙΟΥ ΓΙΑ ΔΗΜΙΟΥΡΓΙΑ ΨΗΦΙΑΚΗΣ ΑΦΙΣΑΣΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΕΡΓΑΛΕΙΟΥ ΓΙΑ ΔΗΜΙΟΥΡΓΙΑ ΨΗΦΙΑΚΗΣ ΑΦΙΣΑΣ
ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΕΡΓΑΛΕΙΟΥ ΓΙΑ ΔΗΜΙΟΥΡΓΙΑ ΨΗΦΙΑΚΗΣ ΑΦΙΣΑΣ
 
Thessaloniki rb-24
Thessaloniki rb-24Thessaloniki rb-24
Thessaloniki rb-24
 
Drupal CMS, μια σύντομη παρουσίαση
Drupal CMS, μια σύντομη παρουσίασηDrupal CMS, μια σύντομη παρουσίαση
Drupal CMS, μια σύντομη παρουσίαση
 
Παρουσίαση Smart
Παρουσίαση SmartΠαρουσίαση Smart
Παρουσίαση Smart
 
Web2 tools
Web2 toolsWeb2 tools
Web2 tools
 
Avouris teaching python
Avouris teaching pythonAvouris teaching python
Avouris teaching python
 
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
 
SE4
SE4SE4
SE4
 
Anastasiadis manosmsc2014present
Anastasiadis manosmsc2014presentAnastasiadis manosmsc2014present
Anastasiadis manosmsc2014present
 
Creating an Open Archival Information System compliant archive for CERN
Creating an Open Archival Information System compliant archive for CERNCreating an Open Archival Information System compliant archive for CERN
Creating an Open Archival Information System compliant archive for CERN
 

e-ΕΠΑΛ: Το έργο, η ομάδα, οι τεχνολογικές προκλήσεις - FOSSCOMM 2017

  • 1. e-ΕΠΑΛ Το έργο, η ομάδα, οι τεχνολογικές προκλήσεις Ένα ανοικτό σύστημα στην υπηρεσία της δημόσιας εκπαίδευσης
  • 2. Το έργο e-EPAL Τι είναι το e-epal: Πληροφοριακό Σύστημα για την ηλεκτρονική δήλωση προτίμησης των μαθητών που θα φοιτήσουν στα Επαγγελματικά Λύκεια της χώρας Σκοπός: ● Βελτίωση της διαδικασίας ● Μείωση της γραφειοκρατίας ● Ελαχιστοποίηση της ανάγκης για φυσική παρουσία στη διαδικασία εγγραφής Ωφελούμενοι: ● Πολίτες ● Διοικητικές δομές
  • 3. Το έργο e-EPAL Ιδιοκτήτης του έργου: Διεύθυνση Επαγγελματικής Εκπαίδευσης του ΥΠΠΕΘ (http://www.minedu.gov.gr/texniki-ekpaideusi-2/to-thema-texniki-ekpaideusi) Δημιουργός του έργου: Ομάδα ανάπτυξης λογισμικού του ΥΠΠΕΘ αποτελούμενη από αποσπασμένους εκπαιδευτικούς (Διεύθυνση Ηλεκτρονικής Διακυβέρνησης του ΥΠΠΕΘ)
  • 4. Έργα της ομάδας Ε-epal Ε-iek E-frontistirio Φόρμες Διανομές Ανοιχτού Λογισμικού Interoperability.gr Edulabs Relabs Wikimedia για τις ανάγκες του Γενικού Συμβουλίου Βιβλιοθηκών.
  • 5. Ευέλικτη μεθοδολογία ανάπτυξης Συνεργατικά εργαλεία Μοντέλο agile / scrum ● Light Scrum ● Sprint backlogs
  • 6.
  • 9. Αποθετήριο git.minedu.gov.gr/itminedu/e-epal Όλα τα σχετικά με το drupal . ├── drupal/ ├── . . . ├── pdfs/ ├── source/ ├── README.md ├── .bootstraprc ├── package.json ├── package-lock.json ├── tsconfig.json └── webpack.config.js Όλα τα σχετικά με την angular Αρχεία ρυθμίσεων ανάπτυξης / εξαρτήσεων / παραγωγικής λειτουργίας
  • 10. Αποθετήριο git.minedu.gov.gr/itminedu/e-epal ├── source/ │ ├── actions/ │ ├── components/ │ │ ├── home.ts │ │ └── . . . │ ├── containers/ │ ├── guards/ │ ├── pipes/ │ ├── services/ │ ├── store/ │ │ ├── store.ts │ │ ├── index.ts │ │ └── . . . │ ├── index.html │ ├── app.ts │ ├── app.routes.ts │ ├── app.settings.deployment.ts │ ├── constants.ts │ └── typings.d.ts Όλα ξεκινούν εδώ … Αρχεία συσχετίσεων / ρυθμίσεων και άλλα Οργάνωση ανάλογα με τη λειτουργικότητα
  • 11. Αποθετήριο git.minedu.gov.gr/itminedu/e-epal ├── drupal/ │ └── modules/ │ ├── casost/ │ ├── epaldeploysystem/ │ ├── epalreadydata/ │ ├── epal/ │ │ ├── epal.routing.yml │ │ ├── epal.services.yml │ │ ├── config/ │ │ │ └── install/ │ │ ├── src │ │ │ ├── Controller/ │ │ │ ├── Entity/ │ │ │ ├── Form/ │ │ │ └── Tests/ │ │ └── templates/ │ └── oauthost/ Σε κάθε module υπάρχουν - αρχεία ρυθμίσεων (π.χ. routing) - κώδικας που υλοποιεί τη λειτουργικότητα του module Οργάνωση ανά module
  • 12. ● Προγραμματιστική δημιουργία των απαιτούμενων entities Πλήρης έλεγχος της δημιουργίας του database schema Δυνατότητα μεταφοράς του κώδικα δημιουργίας ● drupal console, drupal drush ● Entity API Γρήγορη ανάκτηση δεδομένων (read) Αργή αποθήκευση δεδομένων (write) Το Drupal 8 ως back-end server: αποθήκευση δεδομένων και entities
  • 13. Αντιμετώπιση καθυστέρησης για λειτουργία εγγραφής: ο αλγόριθμος κατανομής μαθητών Πρόβλημα: παρατηρήθηκε σημαντική καθυστέρηση σε περίπτωση λειτουργιών μαζικών εγγραφών. Αντιμετώπιση: μη χρήση του entity API χρήση του PDO driver για προσπέλαση στη βάση
  • 14. Χρήση Entity API για λειτουργία store Χρήση PDO Driver για λειτουργία store
  • 16. Το Drupal 8 ως back-end server: δημιουργία και διάθεση REST εξόδου (1) δημιουργία προβολών (views) με REST export ευέλικτη και γρήγορη δημιουργία rest εξόδων, για τα αποτελέσματα συμβατικών ερωτημάτων (queries) στα δεδομένα δύσκολη δημιουργία περισσότερο πολύπλοκων ερωτημάτων
  • 17. Το Drupal 8 ως back-end server: δημιουργία και διάθεση REST εξόδου (2) ● δημιουργία custom controllers με REST έξοδο πλήρης έλεγχος και δυνατότητα υλοποίησης πολύπλοκων ερωτημάτων δυνατότητα επικοινωνίας με το front-end για οποιοδήποτε είδος λειτουργίας ● routing system ○ βασισμένο στο Symphony Routing Component
  • 18. Το Drupal 8 ως back-end server: εξουσιοδότηση και δημιουργία χρηστών ● διαχείριση χρηστών και απόδοση ρόλων ● ανάπτυξη OAuth module ○ πλήρης έλεγχος της διαδικασίας εξουσιοδότησης πρόσβασης μέσω του TaxisNet και δημιουργίας χρήστη με ρόλο αιτούντα ● ανάπτυξη CAS module ○ πλήρης έλεγχος της διαδικασίας εξουσιοδότησης πρόσβασης μέσω του Πανελλήνιου Σχολικού Δικτύου και δημιουργίας χρήστη με ρόλο Διοικητικό
  • 19. Ρύθμιση Drupal ● Ρύθμιση εφαρμογής μέσω ανάπτυξης module ρύθμισης ○ εγκατάσταση προβολών, rest resources, ρόλων χρηστών μέσω .yaml αρχείων ● Ρύθμιση παραμέτρων για κάθε custom module μέσω εγγραφής σε κατάλληλο entity ρυθμίσεων ● Ρύθμιση γενικών παραμέτρων για κάθε module μέσω του αρχείου <module_name>.module
  • 20. ● “Angular is a platform that makes it easy to build applications with the web” - https://devdocs.io/angular/ ● Είναι framework, όχι library ● Typescript: Απόδοση ομάδας - Ομοιογενής κώδικας ● RxJS: Reactive Programming
  • 21. ● Learning curve: Συγκριτικά μακρύ
  • 22. RxJS - Taming the Asynchronous Beast ● Θεμέλιος λίθος στην Angular ● Η προτεινόμενη μέθοδος ελέγχου του ασύγχρονου κώδικα ή κώδικα βασισμένου σε callbacks ● Απαιτεί μελέτη σε βάθος ● Observable, BehaviorSubject, Subscription
  • 25. Client state management ● State Container: http://redux.js.org/ ● Angular Redux Store Integration: https://github.com/angular-redux/store ● State Immutability: https://facebook.github.io/immutable-js/ ● Development tools: https://github.com/zalmoxisus/redux-devtools-extension
  • 26. Client State Management: Types source/store/regionschools/regionschools.types.ts
  • 27. Client State Management: Reducer source/store/regionschools/regionschools.reducer.ts
  • 29. Milestones 2017 - 2018 ● Έκδοση 1: Angular 2.x, ng2-redux - Ιούνιος 2017 ● Έκδοση 2: Angular 4.x upgrade, angular-redux/store - Αύγουστος 2017 ● Χρήση ngc για AOT compilation ● Upgrade σε Angular 5 ● Διαλειτουργικότητα με πληροφοριακό σύστημα εγγραφών μαθητών ● Έκδοση 3: Υλοποίηση λειτουργικών επεκτάσεων
  • 30. Θα μας βρείτε στο https://git.minedu.gov.gr/itminedu/e-epal Production environment: https://e-epal.minedu.gov.gr