A Comprehensive Admissions Management Web Application with ASP.NET Core MVC

A Comprehensive Admissions Management Web Application with ASP.NET Core MVC: The Case of the Greek National School of Judges

Discover how an outdated admissions process can be revamped with the use of modern web technology and learn about the main software engineering challenges involved. The presented application consists of two main areas offering external (Internet) and internal (intranet) functionality respectively. External functionality includes online user registration, application completion, file uploading, submission, and printing. Internal functionality allows for managing users, resources, competitions and exams as well as for entering grades and creating a number of reports.

Key technologies used: ASP.NET Core MVC, ASP.NET Core Identity, EF Core, MySQL, DinkToPdf, Automapper, Jquery, unobtrusive js.

Key challenges discussed: Database initialization/seeding, file uploading, report creation, database concurrency handling, front-end interactions.

8th Laravel Greece Online Meetup – Payment Gateways!

To επόμενο Hangout της Ελληνικής κοινότητας του Laravel, θα είναι σίγουρα ενδιαφέρον, αφού το κεντρικό του θέμα είναι τα Payment Gateways. Όλοι όσοι έχουν δημιουργήσει κάποια εφαρμογή αργά η γρήγορα θα χρειαστεί να εισπράξουν χρήματα και τότε θα χρειαστούν ένα Payment Gateway για την δουλειά αυτή. Τι εμπειρία έχει ο καθένας μας; Τι επιλογές έχουμε γενικά; Τι κάνουν οι Ελληνικές τράπεζες; Ποια η εμπειρία μας απο τα API; Ποιες η προμήθειες και ποιες οι προϋποθέσεις; Πως μπορεί να βοηθήσει το Laravel; Τι πρέπει να προσέξει κάποιος σύμφωνα με την εμπειρία σας;

Αυτά είναι μόνο μερικά απο τα ερωτήματα που θα πέσουν στο “Hangout” και όπως πάντα περιμένουμε τους Ελληνες Developers όπου και αν βρίσκονται να μοιραστούν την εμπειρία τους.

To θέμα είναι τόσο μεγάλο και αφορά τόσους πολλούς που θα ειναι χαρά μας να μην χωρέσει σε ένα μόνο Hangout!

Η LearnWorlds είναι και πάλι σπόνσορας και μας στηρίζει και αυτή τη φορά. Η LearnWorlds είναι μια γρήγορα αναπτυσσόμενη και καινοτόμος e-learning εταιρεία, η οποία εξυπηρετεί πελάτες σε πάνω από 60 χώρες. Μπορείτε να μάθετε περισσότερα για την LearnWorlds στο (https://www.learnworlds.com/?utm_source=athens-laravel-meetup&utm_medium=referral), αλλά και να δείτε τις αγγελίες τους για προσφορά εργασίας στη σελίδα (https://www.learnworlds.com/careers/?utm_source=athens-laravel-meetup&utm_medium=referral)

Υ.Γ.: Τα link συμμετοχής και παρακολούθησης θα ανακοινωθούν τη στιγμή του Event

15th Meetup: Developers at work!

Developers at work!
==========================================

Ως developers, πρωτίστως αντιμετωπίζουμε το development και τις τεχνολογίες που περιστρέφονται γύρω από αυτό, ως μια δραστηριότητα που μας ανταμείβει με την ενασχόληση και την εκτόνωση της δημιουργικής μας περιέργειας! Στο επερχόμενο Meetup ωστόσο, θα προσεγγίσουμε την επαγγελματική του έκφανση.

Οι Γιώργος Γκενς, Χρήστος Ζιώγας, Ράνια Μάρου και Κώστας Σέτζας θα αναλάβουν να λύσουν τις απορίες μας γύρω από το remote working, να απομυθοποιήσουν αστικούς μύθους που το συνοδεύουν και να μοιραστούν τις προσωπικές τους εμπειρίες σε ένα χορταστικό Q&A session. Στη συνέχεια, ο Γιώργος Τσαλαπόρτας θα μας διαφωτίσει σε θέματα που αφορούν το recruitment process, με οδηγίες προς ναυτιλομένους στον ωκεανό της αγοράς εργασίας του software development, μα και τον τρόπο με τον οποίο ο ενδιαφερόμενος οφείλει να το προσεγγίζει.

As developers, we usually regard development and the technologies revolving around it as a self-rewarding activity, which allows us to express our creative curiosity. In our next Meetup though, we will approach its professional aspect.

Giorgos Gens, Chris Ziogas, Rania Marou and Kostas Setzas will answer our questions about remote working, will demystify urban legends that accompany it and share their personal experiences in a lively Q&A session. Later on, George Tsalaportas will enlighten us on the recruitment process, providing a hitchhiker’s guide to the vast galaxy of the software job market, as well as useful tips for job seekers.

Speakers (in order of appearance)
———————————————–
Giorgos Gens – Android Engineer / Project Manager
Chris Ziogas – Software Engineer
Rania Marou – Backend Developer
Kostas Setzas – Software Engineer
George Tsalaportas – Recruiter / HR Consultant

Schedule
————–
7:00pm – 7:15pm : Introductions
7:15pm – 8:00pm : Working remotely (Q&A panel)
8:00pm – 8:15pm : Break
8.15pm – 9:00pm : Leveraging Recruiters (George Tsalaportas)
9:00pm – : Connecting micro-party!

Cloud Day (Google Cloud Study Jam Kubernetes + Quarkus Introduction)

We are super happy to invite you all at April’s meetup which is dedicated to the “Cloud”

For the first session, we are joining forces with the GDG Thessaloniki meetup (https://www.meetup.com/Google-Developers-Thessaloniki) and we are organizing a Google Cloud Study Jam about Kubernees. Elias Papachristos (https://www.linkedin.com/in/elias-papachristos) will be our instructor for the first hour and he kindly asked for the following requirements
A. Your laptop
B. Gmail account (please remember your password!)

The second session will be an introduction to Quarkus, the new Container First Cloud Native Java framework, created by RedHat. Giorgos Andrianakis (https://www.linkedin.com/in/georgios-andrianakis/) , a Redhat Software Engineer, is coming from Athens and he will give us a high-level overview of the platform and what we can do with it

Detailed schedule
18:45 – 19:00 : Arrival – Socializing
19:00 – 20:00 : Google Cloud Study Jam 2019 – Kubernetes
20:00 – 20:10 : Short Break
20:10 – 21:00 – Introduction to Quarkus
21:00 – 21:30 – Pizzas / Beers / Socializing

If you don’t have a laptop or you don’t want to bring it you can attend the first session but you won’t be able to do the hands-on part. You can also join only in the second session.

As always the event is free of charge. Just bring your best mood and enjoy 🙂

See you all

Digital analytics meetup #15 – The road to an AI-first world (by Google)

Πολλές συναρπαστικές αλλαγές στην επόμενη συνάντηση μας. Μετά τα Google Cloud study jams που συνδιοργανώσαμε μέσα στον Φεβρουάριο, θα έχουμε την ευκαιρία να ακούσουμε μια εξαιρετικά ενδιαφέρουσα ομιλία από μια επαγγελματία η οποία εργάζεται στην καθημερινότητα της με αυτά τα εργαλεία στους μεγαλύτερους πελάτες της Google. Επίσης αυτή την φορά αλλάζουμε χώρο και πάμε στο κέντρο της πόλης (στο SpaceLab https://goo.gl/maps/BPSawvL2Qrp )

The road to an AI-first world

Το θέμα της συνάντησης μας θα είναι το AI (Τεχνητή νοημοσύνη) και πως μπορεί μια επιχείρηση ή ένας επαγγελματίας να χρησιμοποιήσει τα εργαλεία που υπάρχουν διαθέσιμα για να προσφέρει πιο ανταγωνιστικά προϊόντα. Τα τελευταία χρόνια το AI έχει γνωρίσει τρομερή ανάπτυξη και αυτό έχει αλλάξει τον τρόπο που λειτουργούν πολλές υπηρεσίες που χρησιμοποιούμε στην καθημερινότητα μας. Σήμερα είναι ένας όρος που ακούμε σχεδόν κάθε μέρα και φαίνεται να υπάρχει παντού γύρω μας.
https://vimeo.com/223416398

Θα έχουμε την ευκαιρία να καταλάβουμε, από την Έβη, πως χρησιμοποιεί ένας κολοσσός της τεχνολογίας (Google) το AI. Ποιος είναι ο ρόλος που έχει παίξει στην ανάπτυξη των προϊόντων που προσφέρει αλλά και πως έχει εξελίξει τις υπηρεσίες προς τους πελάτες της. Θα συζητήσουμε τον ρόλο που θα παίξει το AI στην ανταγωνιστικότητα των επιχειρήσεων τα επόμενα χρόνια και τι απαιτήσεις υπάρχουν στην συλλογή των δεδομένων. Οι εξελίξεις που βλέπουμε σήμερα σε αυτό τον τομέα έχουν ήδη αρχίσει με γρήγορους ρυθμούς να αλλάζουν τις ισορροπίες και είναι σίγουρο ότι θα δούμε ακόμα μεγαλύτερες αλλαγές στο προσεχές μέλλον που θα επηρεάσουν την καθημερινότητα μας.

Η Έβη Καρακόζογλου ( https://www.linkedin.com/in/ekarakozoglou/ ) είναι Global Data Solutions Lead στην Google και ο ρόλος της είναι να βοηθάει τους μεγαλύτερους πελάτες διαφήμισης της Google να βελτιστοποιήσουν τις μεθόδους τους στο marketing και τις επιχειρηματικές τους λειτουργίες. Συνεργάζεται με την Google εδώ και 3 χρόνια και έχει εμπειρία σε τεχνολογίες online marketing, διαφήμισης, cloud infrastructure και τεχνητής νοημοσύνης. Παλαιότερα είχε εργαστεί σε οργανισμούς με αντικείμενο την ανάλυση δεδομένων και ερευνητικά κέντρα σε 3 διαφορετικές ηπείρους.

Πρόγραμμα

Θα ακολουθήσουμε το γνωστό πρόγραμμα και των προηγούμενων συναντήσεων μας:
– 18.30 Μαζευόμαστε στο SpaceLab, για να γνωριστούμε και να τσιμπήσουμε snacks
– 19.00 Ξεκινάνε οι παρουσιάσεις
– 20:30 Ολοκλήρωση των παρουσιάσεων. Όπως πάντα θα έχουμε χρόνο να γνωριστούμε καλύτερα, να πιούμε μπύρες παρέα και να συζητήσουμε θέματα που απασχολούν την κοινότητα και προτάσεις για επόμενα meetup

O χώρος του meetup αυτή τη φορά είναι το SpaceLab (Μοναστηρίου, δίπλα στο Capsis hotel)

Εγγραφή

Όπως πάντα η συμμετοχή είναι δωρεάν και ανοιχτή σε όλους, με την εγγραφή στο meetup.com.

Περισσότερες λεπτομέρειες για αυτή την συνάντηση, προηγούμενες συναντήσεις και νέα της κοινότητας μπορείτε να δείτε στην σελίδα του meetup: https://digitalanalytics.gr

Fast Technical Introduction to Ethereum

In this meetup we will do a technical introduction to Ethereum. This is *not* a high-level be-impressed-by-the-potential of smart contracts and Ethereum. It is intented for people who already understand how a blockchain, like Bitcoin, works. While it does not cover Ethereum in-depth, it will provide a fast technical introduction and identify key differences with other blockchains.

The agenda for the meetup is:

19.00 – 20.00 Introduction to Ethereum: quick and technical
20.00 – 20.15 Break
20.15 – 21.15 Interacting with a node and a trivial smart contract
21.15 – 21.45 Open Q&A / Discussion / networking / end

Abstracts:

– Introduction to Ethereum: quick and technical
This is *not* a high-level be-impressed-by-the-potential of smart contracts and Ethereum. It is intented for people who already understand how a blockchain, like Bitcoin, works. While it does not cover Ethereum in-depth, it will provide an fast technical introduction and identify key differences with other blockchains.

– Interacting with a node and a trivial smart contract
Going through the creation of a smart contract and its life-cycle.

Short Biographies of presenters:

Kostas Karasavvas
Dr. Konstantinos Karasavvas is a computer scientist with 20+ years of experience. He has worked in academic research in multi-agent systems and service-oriented architectures for about a decade and following that he worked in the industry as a software architect and engineer for several years and in several domains; from bioinformatics to finance. Currently, and for the last 6 years, he is focused solely on blockchain technologies as a consultant. He is teaching and leading several research and development teams in both academia and industry. He is also an open source contributor and an active member of local Bitcoin communities, organizing meetups and presenting in events.

The environment is casual and there will be plenty of opportunities to learn and more importantly get to know each other. After the event everyone is welcome to one of the nearby cafeterias to get to know each other.

Hope to see you there!

Φάειthon: Κωδική ονομασία: Μπατζετάκια

Φίδες και φίδοι, αποχαιρετάμε για ακόμα μια φορά το χειμώνα με ένα εορταστικό φάειthon στο οποίο όποιος φάει πιο πολύ μπαίνει στην κλήρωση για να κερδίσει μία σόδα χωνευτική. Αυτή την Πέμπτη 21 Μαρτίου ή ό,τι μήνα έχουμε στις 9 η ώρα σας περιμένω όλους στις Τηγανιές και τις Σχάρες κοντά στο Κόχο, ξέρετε εσείς.

Επειδή είναι φάειthon δε θα έχουμε παρουσιάσεις αλλά θα έχουμε κοψίδια οπότε ελάτε να τα πούμε. Όπως πάντα, θα έχουμε και πατατόπιτες με μανιτάρια για τους βετζετέριαν (το κρέας είναι φόνος) και κατόπιν θα ακολουθήσει δεξίωση σε γνωστό στριπτιτζάδικο της πόλης. Φέρτε και τους φίλους ή τις φίλες σας που δεν έχουν σχέση με το επάγγελμα γιατί τα θέματα συζήτησης θα είναι πολλά και ποικίλλα, ήδη έχω ετοιμάσει ατζέντα με 23 θέματα συζήτησης και μαστίγιο για όποιον βγει εκτός θέματος.

Σας περιμένω όλους λέμε για να κάνουμε αυτό το εορταστικό φάειthon το πιο δημοφιλές meatup της πόλης. Πέμπτη 9 η ώρα ΜΗΝ ΞΕΧΑΣΕΤΕ.

Μη φέρετε δώρο είμαστε κομπλέ.

Τι λέτε για ένα εργαστήριο εκμάθησης Jenkins CI;

Ενδιαφέρεστε να μάθετε τι είναι η έννοια του continuous integration και πως μπορεί να βοηθήσει το λογισμικό Jenkins; Ενδιαφέρεστε να δείτε πως αυτοματοποιείται η διαδικασία παραγωγής του τελικού προϊόντος λογισμικού σε μια εταιρία; Πως μπορεί μια ομάδα προγραμματιστών να παράγει κώδικα ο οποίος συνενώνεται, ελέγχεται και μετατρέπεται σε εκτελέσιμο αρχείο;

Αν ναι μπορείτε να δηλώσετε συμμετοχή στο εργαστήριο μας!

Το εργαστήριο απευθύνεται κυρίως σε άτομα που έχουν ελάχιστη ή μικρή επαφή με τις παραπάνω έννοιες. Θα χρειαστεί να έχετε μαζί σας ένα laptop με Windows 10 ή άλλο λειτουργικό που υποστηρίζει την εγκατάσταση του Docker και αν θέλετε να γλυτώσετε λίγο χρόνο μπορείτε να εγκαταστήσετε πιο μπροστά και το ίδιο το docker (βλ. https:/www.docker.com)

Καλό θα ήταν να έχετε επίσης εγκατεστημένο και κάποιο πρόγραμμα όπως το IntelliJ ή αντίστοιχο!

Επίσης θα γλύτωνε χρόνο να έχετε ένα λογαριασμό στο GitHub και να έχετε το git εγκατεστημένο στον υπολογιστή σας!

Το Workshop το ετοίμασε και το παρουσιάζει το μέλος μας Ιοακείμ James Θεολόγου!

Σας περιμένουμε!

ΥΓ: Και όσοι δεν το κάνατε, διαβάστε την ανοιχτή επιστολή προς τους υποψήφιους τοπικούς άρχοντες και αν συμφωνείτε υπογράψτε: http://bit.ly/2tF7uOg

Refactoring a 1000 Lines of Code Method into Clean(er) Code

Long functions in even longer classes can often be found in mature code bases. Even though every programmer knows it’s wrong to keep such a beast in production, every one of us has been feeding one of those for at least some time.
In this lecture, we will show the process of building large functions from scratch. We will then turn attention to one such function, which has about 1000 lines of code. You will see why we need to break such monstrous functions into smaller chunks and then we will embark on a voyage to refactor and redesign it into smaller chunks of code.
If you have passion for Sudoku, then the example we present will surely amuse you. The program we will be dealing with is setting up Sudoku problems and then it solves each problem, verbalizing all decisions and explaining the solution in common English sentences. But, the way in which this interesting program does its task is, at the same time, the greatest impediment to its further development. That is the point at which this lecture begins.
Before attending this talk, you may wish to try fixing the same code on your own. Please download the initial solution from GitHub repository: https://github.com/zoran-horvat/sudoku-kata

Συνάντηση 2019.03

Γεια χαρά σε όλους!

Την Παρασκευή 8 Μαρτίου στις 19.00 θα τρέξουμε το επόμενο Athens Python Meetup, στα γραφεία της yodeck (https://www.yodeck.com/) στην Ομόνοια (1ος όροφος).

Επειδή προετοιμαζόμαστε πυρετωδώς για την συμμετοχή μας στο open-conf (http://www.open-conf.gr/schedule/), αυτή τη φορά δεν θα έχουμε κάποια προγραμματισμένη ομιλία. Παρ’ολα αυτά σας περιμένουμε για χαλαρό networking και φυσικά για να κληρώσουμε τα τελευταία εισιτήρια για το συνέδριο.

Τα λέμε εκεί!

Οδυσσέας