Dimitris Zavaliadis

Here's a detailed—albeit not exhaustive—account of the professional, open source and side projects I've worked on over the years

Europass/ESCO Integration 2014–Present

Europass Tech Management Interoperability REST

Currently coordinating the integration of Europass with ESCO utilising the ESCO APIs.

dimzava.eu 2008–Present

Side Project Middleman Bootstrap GitHub Pages

The web site you are currently reading. It has gone through many phases since 2008 when it was first created, but the latest version is built with the awesome Middleman static site generator and the Bootstrap HTML/CSS/JS framework and is served via GitHub Pages.

Europass Online Editor Revamp 2014

Europass Tech Management Scrum

Technical product manager and Scrum master responsible for all aspects of a major project, which resulted in a brand new, highly acclaimed version of the Europass Online Editor (launched October 2014). The main objectives of this project were to improve the usability of the editor by removing unnecessary features and simplifying the user interface, make it responsive so that it can be accessed by mobile devices and make it easy to import/export Europass documents from/to the cloud via custom integrations with popular cloud storage services (currently Google Drive, Dropbox, OneDrive).

Europass Accessibility 2014

Europass Tech Management WAI

Oversaw a series of accessibility improvements to the Europass portal successfully leading to WCAG 2.0 (Level A) compliance and the development of an alternative version of the Europass CV template specifically targeted at visually impaired users.

Log Aggregation & Analytics Server 2014

Europass Ops Elasticsearch Logstash Kibana

Installed, set up and configured the Elasticsearch ELK Stack as a centralised logging server solution for Europass. Its purpose is to automatically collect thousands of log events per day from tens of servers, process them, store them in a structured way and make them easily searchable, thus providing better anomaly detection capabilities and insights into the problems faced by users.

Bulk XML Pretty-printing 2014

Europass Dev Groovy XML

Developed a simple Groovy command-line program, which parses all XML documents found in a given directory and pretty-prints them in bulk.

Europass Interoperability Demo 2014

Side Project Open Source Europass Dev Groovy Ratpack iText wslite Gradle H2

Built in an afternoon a quick and dirty Ratpack app to demonstrate how the various interoperability options provided by Europass can be used in practice. The application has been open sourced at https://github.com/dimzava/europass-interop-demo.

Europass2Spreadsheet, v2 (Spring Boot) 2014–Present

Side Project Java SE Spring Boot Spring AMQP CloudAMQP Guava Mailgun Heroku

Rebuilt https://europass2spreadsheet.eu from scratch using Spring Boot and Java 8, just for the fun of it :-). Currently experimenting with RabbitMQ, Spring AMQP and CloudAMQP in an attempt to scale out the service on Heroku's free tier.

Europass2Spreadsheet, v1 (Ratpack) 2014

Side Project Groovy Ratpack iText JETT Apache POI wslite Gradle Mailgun Heroku

Created and launched https://europass2spreadsheet.eu, a free online service for converting Europass CVs to Excel spreadsheets via email. It's been built with the Ratpack web toolkit, integrated with the Mailgun API for sending and receiving emails and is deployed on Heroku.

ErrCode 2014

Side Project Open Source Europass Groovy Ratpack Ant JSch Groovy VFS Jackson HikariCP Gradle MySQL

Designed and implemented a web app, which helps the Europass technical support team to easily troubleshoot problems reported by end users. The app downloads log files from remote servers (via SCP and Samba), extracts stack traces based on a given string pattern, processes them and stores them in a MySQL database. Technical support can then query the database for a specific error code (provided by the user) and get back the corresponding stack trace details via an intuitive web interface. This application has been open sourced at https://github.com/dimzava/errcode.

Ratpack Performance Benchmarks 2014

Side Project Open Source Groovy Ratpack Jackson Spock HikariCP Gradle MySQL H2 Performance Tuning

Implemented in close cooperation with the Ratpack team the Ratpack/Groovy portion of the TechEmpower Web Framework Benchmarks, a popular benchmarking test suite for comparing the performance of several web application frameworks.

Europass Cover Letter 2014

Europass Tech Management Scrum

Technical product manager and Scrum master of the development of the Europass Cover Letter, a new document and editor added to the Europass portfolio in April 2014. Active involvement in all stages, from inception through to delivery into production.

AWStats/Google Analytics Comparison 2014

Europass Dev Groovy SQL Server

Developed a Groovy command-line program, which verifies the results of a web analytics migration project from a legacy AWStats solution to Google Analytics. It works by querying two different databases (one containing AWStats data and the other one containing Google Analytics data), comparing the results and printing text-based reports pinpointing potential inconsistencies between the two data sources (diffs in absolute numbers, percentages, etc.)

Europass/EURES Integration 2014

Europass Tech Management Interoperability REST XML JAXB

Led the efforts for the second generation of interoperability between Europass and EURES (the first generation was based on older versions of the Europass XML Schema and legacy SOAP APIs). Taking advantage of the Europass XML, Europass users are now able to create a EURES profile/CV by simply uploading a Europass CV to the EURES portal. Likewise, EURES users can export their profile/CV into the Europass format, using the Europass REST API under the hood. A JAXB-based client was also developed in frames of this project, to ease the consumption of the Europass REST services by Java applications.

New Europass Language Passport 2013

Europass Tech Management Scrum

Technical product manager and Scrum master of the development of a brand new version of the Europass Language Passport (launched December 2013). I was responsible for all aspects of this project, from the design and implementation of the new document template and online editor to the final roll-out and end-user support.

Bulk XML Validation 2013

Europass Dev Groovy XML

Developed a simple Groovy command-line program, which parses all XML documents found in a directory and validates them against a given XSD, in bulk.

Service Health Check Scripts 2013

Europass Dev Groovy wslite curl

Wrote a bunch of Groovy and curl scripts to automate the procedure of on-demand health checks of various servers and services (in addition to standard infrastructure monitoring by Nagios, etc.).

Europass REST API 2013

Europass Tech Management Scrum REST XML JSON

Bootstrapped and led the efforts for the development of the Europass REST API as a technical manager and Scrum master. I still remain actively involved with anything that has to do with this project, including design, versioning, backward compatibility, technical support to interoperability partners, etc. The REST API (which replaced the now deprecated Europass SOAP API) is currently used by many EU and private organisations, universities, open source projects, etc.

Europass Interoperability Portal 2013

Europass Dev Interoperability Middleman Ruby Bootstrap Vagrant

Designed and implemented http://interop.europass.cedefop.europa.eu, a developer-focused portal with technical information concerning Europass Interoperability (XML and JSON Schemata, REST and SOAP web services, API documentation, sample applications, etc.). It is built with the Middleman static site generator, the Bootstrap front-end framework and an Ubuntu-based development environment created and configured via Vagrant.

LibreOffice Management Script 2012

Europass Dev Groovy

Developed a simple Groovy script, which starts a preconfigured number of headless LibreOffice instances, monitors and automatically restarts them in case they crash.

New Europass CV/European Skills Passport 2012

Europass Tech Management Scrum

Technical product manager and Scrum master of the first major redesign of the Europass CV template and editor since its first launch in 2005 and the development of a new document and editor, the European Skills Passport. Oversaw all aspects of the project, from inception, wireframing and the design of new document templates to delivery into production, end user support and maintenance. Europass traffic has been increasing rapidly since this revamp in December 2012.

Server and DB Migration Projects 2012

Europass Ops

Managed and implemented several server migration projects, physical to physical, physical to virtual, operating system upgrades, database server upgrades, etc.

Grails E-Shop 2012

Side Project Dev Grails

An attempt to build a Grails-based E-Shop. Project abandoned due to the lack of interest and gradual shift to other technologies.

RSVP App 2012

Side Project Dev Grails Heroku PostgreSQL

Built a Grails-based RSVP application in frames of my baby daughter's Christening event. The application was deployed on Heroku using a PostgreSQL database.

Cache Warm-up Scripts 2012

Europass Dev Groovy

Wrote some Groovy scripts for automatically warming up the caches of various Europass services.

Portal/CMS Revamp 2011

Europass Tech Management Data Migration

Managed the first major redesign of the Europass portal since its first launch in 2005 and the migration of the backing (custom) CMS to a newer version. Oversaw all aspects of the project, from inception, wireframing and information architecture through to delivery into production and maintenance.

EMMS/AUTh Interoperability 2011

Europass Tech Management Interoperability

Conducted an interoperability study to assess potential synergies between the Europass Mobility Management System (EMMS) and the corresponding systems used by the Aristotle University of Thessaloniki (AUTh) for managing student and academic mobility.

Properties2Excel Tool 2011

Europass Tech Management Java JExcelApi

Managed the development of a tool used for converting Java properties files to Excel spreadsheets and vice versa.

Europass SOAP API v2 2011

Europass Tech Management SOAP Web Services

Managed the development and release of the second version of the Europass SOAP API, which extends the conversion services provided by the first version of the API by adding support for HR-XML, JSON and HTML formats apart from MS Word, ODT and PDF.

EMMS Deployments 2010-2011

Europass Tech Management SOAP Web Services

Managed the successful deployment, integration and testing of several instances of the Europass Mobility Management System (EMMS), coordinating with the business and IT representatives of 36 National Europass Centres, located in 34 countries across Europe (EMMS is a SOAP-based distributed, multi-node application used for issuing Europass Mobility documents).

Europass Job-matching Prototype 2010

Europass Tech Management Interoperability

Coordinated the development of two prototypes assessing how job vacancies published in portals such as EURES and EURAXESS can appear directly in the Europass CV editor and be filtered automatically based on the user's CV data.

Apache Log Format Converter 2010

Europass Dev Groovy Apache Logs

Developed a simple Groovy program, which converts Apache SSL request logs to the combined log format.

High Availability Server Infrastructure 2010

Europass Ops HA Load-balancing Tomcat Apache mod_jk

Designed and implemented a high availability server architecture based on redundant Apache and Tomcat instances, which allowed Europass to painlessly scale from 800.000 visits/month and 400.000 document generations/month in 2010 to more than 2.000.000 visits/month and 1.500.000 document generations/month in 2014.

Europass Interoperability Sample Tools 2010

Europass Open Source Tech Management Java PHP

Managed the development and open sourcing of two Java- and PHP-based sample applications, which demonstrate how the Europass XML can be utilised in practice by 3rd party systems.

Issue & Project Tracking Streamlining 2010

Europass Admin JIRA GreenHopper MySQL

Installed and configured JIRA/GreenHopper (replacing an old Bugzilla instance) to improve the effectiveness of incident and change management processes as well as to introduce Scrum and Kanban within the Europass team.

PhD Theses Archive Management System (PhDMS) 2009–2010

EKT Lead Dev Groovy Java SE Grails Spring Spring Security iText JExcelApi OpenCSV jQuery Ajax GORM/Hibernate MySQL Tomcat/Jetty

Lead developer of a three-member team responsible for the overall analysis, design and implementation of a web-based application used by EKT staff members and external stakeholders (universities, PhD students, etc.) to manage the internal workflows (submission, cataloguing, digitisation, archiving, etc.) of the National Archive of PhD Theses (EADD). The development efforts, apart from the integration of PhDMS with EADD and another external system via custom HTTP-based APIs, included a sophisticated reporting engine capable of exporting dynamic reports in various formats (HTML, PDF, RTF, Excel, CSV).

Library Order Management System (LibOMS) 2009

EKT Lead Dev Java SE Spring Spring MVC Spring Web Flow Spring Security Spring TestContext JSP/JSTL SiteMesh jQuery Ajax JPA Hibernate MySQL/Oracle 10g Tomcat/Jetty JUnit DbUnit Maven

Lead developer of a two-member team responsible for the overall analysis, design and implementation of a full-fledged Order Management System used by the EKT Library Department for managing orders of scientific articles, conference proceedings, books, etc. by the academic and research community.

FSM Engine 2008–2009

EKT Open Source Dev Java SE Spring JUnit Maven

Designed and developed a reusable Java library that makes it easy to define and execute finite state machines and workflows using e.g. a Spring XML configuration file. This library, originally inspired by the State Design Pattern and Harel Statecharts (pdf), has been extensively utilised by EKT in various large production systems (including the aforementioned LibOMS and PhDMS) and has been open sourced on GitHub.

Financial Data Management System 2008–2009

Synergic Lead Dev Java SE Spring Spring MVC Acegi Security FreeMarker Hibernate Tomcat OC4J Oracle 10g

Worked along side a team of two to architect, design and implement a Spring-based application used in the Greek public sector as part of a larger integrated information system for the electronic submission of various financial data to the (former) Ministry of Economy and Finance.

Data Cleansing Framework 2008

EKT Dev Java SE Spring

Integrated Spring into a custom data cleansing/scrubbing framework built by EKT in order to achieve better maintainability, extensibility and testability.

Open Access Map Feeder 2008

EKT Dev Java SE JDOM

Sole developer of a standalone application used for automatically downloading data from disparate online sources in XML and plain text formats, parsing, merging and transforming them according to a suitable XML schema and eventually feeding them to a Flash application.

Open Access Portal 2008

EKT Lead Dev J2EE dotCMS Velocity MySQL Tomcat

Lead developer of a two-member team responsible for the overall analysis, design and implementation of http://openaccess.gr, a bilingual portal devoted to Open Access movement advocacy. Responsibilities included the customisation and extension of dotCMS, a J2EE-based open source CMS on top of which the portal was built (see below).

dotCMS 2007

EKT Open Source Dev J2EE Velocity

DotCMS is a J2EE-based Enterprise CMS/Portal suite, utilising technologies such as Struts, Velocity, DWR, Hibernate and Lucene among others. Applied a few patches as an active committer, all of which passed into production releases (rewriting and refactoring of the internationalisation infrastructure to suport UTF-8 character encoding, implementation of new features and new Velocity macros, bug fixes).

Research Organisations DB 2007

EKT Dev Ruby on Rails MySQL Mongrel

Sole developer of a CRUD web application that allows EKT staff members and external partners to maintain a database of research organizations and associated researcher profiles.

Nis-Nest DB 2007

EKT Dev Ruby on Rails Oracle 10g Mongrel

Maintainer and developer of http://researchers.nisnest.gr that acts as a pool of researcher and research organisation profiles, aiming at assisting researchers from Eastern European countries in identifying and forming potential partnerships.

Dewey Terms Translation DB 2007

EKT Dev Ruby on Rails Oracle 10g Mongrel

Maintainer and developer of an intranet/extranet application used by EKT staff members and external partners, for translating in Greek the Dewey decimal classification system (used by libraries).

Dewey Terms Cleansing Tool 2007

EKT Dev J2SE DOM4J Ricebridge CSV Manager

Sole developer of a standalone tool used for processing/cleaning Dewey XML data and converting them to CSV format, so that they can be imported to an Oracle 10g database.

ENAT Portal 2007

EWORX Dev TOOLIP Servlet FreeMarker Hibernate JUnit MySQL Tomcat

Part of an agile two-member team responsible for the overall design and implementation of the European Network for Accessbile Tourism portal, built on top of TOOLIP.

TOOLIP CMS 2007

EWORX Dev MVC Servlet FreeMarker Hibernate JUnit

Participated as a junior programmer in the development of TOOLIP, a custom MVC Framework/CMS used for facilitating the development of web applications within EWORX.

Intranet Reporting Engine 2006

EWORX Dev MVC Servlet JSP DBCP MySQL Tomcat

Sole developer of an intranet reporting engine built on top of a legacy database, used for generating business reports dynamically, selecting search criteria at run time.

E-Business and the Semantic Web 2006–2007

GRNET Research Technical Writing Semantic Web E-Business

Served as rapporteur of the E-Business Forum’s Ιa2 Working Group, studying the applicability of the Semantic Web and associated technologies in the context of E-Business. Written most parts of the final deliverable (pdf).

Device-independent Web Engineering Study 2006

WRC Research Technical Writing

 

Traceability Systems Study 2006

WRC Research Technical Writing

 

Grant Writing 2006

WRC Research Grant Writing Ubiquitous Computing

 

E-Government Portals Study 2006

WRC Research Technical Writing Presentation

 

Static Web Sites 2004–2005

Dev HTML CSS Apache

Built a few simple static HTML/CSS web sites as an amateur web developer on behalf of friends and relatives, including a marketing site for a niche Greek Coffee brand, a marketing site for a bicycle shop and a personal site for a PhD student.

E-Learning Platform 2004

MSc IT Dev MVC Servlet JSP MySQL Tomcat

As part of my master's dissertation project I developed an innovative e-Learning platform that allows doctors to be trained and collaborate online, by viewing and annotating streaming videos on PDAs and desktops. The application, which was built as a proof-of-concept prototype on behalf of the BrainIT Group at Glasgow Souther General Hospital, involved the entire software engineering lifecycle, from requirements gaterhing, to analysis, design, implementation, testing and evaluation with real users in a field trial.