Martin Ždila, Software Developer in Košice, Košice Region, Slovakia
Martin Ždila

Software Developer in Košice, Košice Region, Slovakia

Member since August 21, 2015
Martin is a software professional specialized in JavaScript full-stack software design and development, OpenStreetMap volunteering, and embedded system development (Mongoose OS). He is a former Java developer (10+ years) and is dedicated to the development and proliferation of open-source software and technologies. He considers himself very agile in learning new technologies and finding solutions to difficult technical problems.
Martin is now available for hire

Portfolio

Experience

  • MySQL, 15 years
  • Java, 11 years
  • HTML5, 8 years
  • JavaScript, 6 years
  • Node.js, 5 years
  • React, 5 years
  • Redux, 5 years

Location

Košice, Košice Region, Slovakia

Availability

Part-time

Preferred Environment

Linux, VS Code, Git, Jira, Eclipse

The most amazing...

...thing I've built is www.freemap.sk and www.gruveo.com.

Employment

  • Senior Developer

    2018 - PRESENT
    FPT Slovakia
    • Developed the SmartHome back-end mockserver for easier application plugin development and testing.
    • Developed firmware for the Garage Door controller based on ESP8266 and Mongoose OS.
    • Developed firmware for RGB-CWW LED lamp based on ESP8266 and Mongoose OS.
    • Developed SmartHome application plugins for some smart devices.
    • Supported the development of the SmartHome application on Pulsar Linux embedded computer.
    Technologies: React, Node.js, React Native, ESP8266, Mongoose OS
  • Developer

    2015 - PRESENT
    Gruveo
    • Developed gruveo.com, a web app built with React, Redux, and Webpack with WebRTC as its core technology.
    • Developed a signaling server to manage internet video calls.
    • Developed a call recording server.
    • Developed some browser extensions for gruveo.com.
    • Integrated the solution with Docker Compose.
    • Integrated Google Drive API, and various AWS APIs/services.
    • Integrated payment systems Paddle and FastSpring.
    Technologies: Node.js, React, Redux, WebRTC
  • Member of the Board

    2010 - PRESENT
    Freemap Slovakia
    • Achieved "Super Mapper" status.
    • Imported a huge number of buildings from Cadastre.
    • Imported land coverage from EEA Urban Atlas and Corine Landcover.
    • Implemented a Simplify Polygon JSOM plugin.
    • Created a custom map theme using CartoCSS in TileMill.
    • Created a wizard for embedding maps using Leaflet.
    • Mapped thousands of kilometers of hiking and bicycle trails in the outdoors.
    • Helped find bugs in the map and taught new mappers.
    • Presented OpenStreetMap at a local meetup.
    • Developed the freemap.sk portal in TypeScript with React and Redux.
    • Developed the back-end server for freemap.sk in Node.js using Koa and MySQL,.
    • Developed the Outdoor map layer (freemap.sk/?layers=X) writing my own mapserer which is written in Node.js and uses Mapnik to render the map. Created a new way to write Mapnik styles, in JS, using "JsNik."
    Technologies: OpenStreetMap
  • Application Developer

    2014 - 2015
    EEA s.r.o.
    • Helped to create a payment router with a web management console. Mostly focused on payment error resolver.
    • Created a web console for managing the application (Partners, Merchants, Users, Transactions, Terminals, Updates, Payment setting etc.) using AngularJS and Bootstrap.
    • Created a statistics view using D3 chars.
    • Implemented server security using Spring Security, supporting OAuth, Basic HTTP Auth, and form authentication.
    • Helped to design multilayer architecture consisting of REST, Facade, Service, and DAO.
    Technologies: Spring, Hibernate, QueryDSL, AngularJS, Webpack, Robot
  • Mulesoft Anypoint Studio Template Developer

    2014 - 2014
    Hotovo.org
    • Implemented various templates for aggregation, migration, synchronization, and report generation from different connectors (SAP, Siebel, Salesforce, JDBC).
    Technologies: Mule
  • Application Developer

    2014 - 2014
    4Q s.r.o.
    • Created an Android application for managing stocks, customers, orders, meetings, contacts, tasks, and refunds using EclipseLink, Glassfish, and MySQL.
    • Created a synchronization protocol between mobile clients and the server based on REST HTTP.
    • Created a Java server application for managing stocks, customers, orders, meetings, contacts, tasks, and refunds.
    • Created a web application for resource and order management using AngularJS.
    • Created a server application for resource and order management using EclipseLink, Glassfish, and MySQL.
    Technologies: Android, Java, JEE, JPA, Jersey, EclipseLink, MySQL
  • CTO, Software Architect, and Developer

    2007 - 2013
    M-Way Solutions Slovakia s.r.o.
    • Created an application framework based on OSGi.
    • Created a mobile application (midlet) for mobile banking.
    • Created a mobile device management system for managing iPhone, Android, and Windows Mobile phones.
    • Created a mobile provisioning application.
    • Created a transcoding template engine adapting desktop websites for mobile devices.
    Technologies: Java, GWT, OSGi, JavaME, Android
  • Developer, Administrator

    2003 - 2007
    EpiSoftware Slovakia s.r.o.
    • Created a web-based database form a modeler.
    • Created reporting software for Cognos OLAP data cubes.
    • Administered Linux servers running web and email services.
    Technologies: Java
  • Network Administrator, Developer

    2001 - 2003
    Antik Telecom
    • Configured various firewall settings with Netfilter.
    • Set up a mail server (Qmail) for internet provider customers.
    • Set up webhosting for internet provider customers.
    • Created software to inject notifications into a webpage, either ads or debt notifications.
    • Configured routers.
    • Configured QOS.
    • Supported the customers.
    • Configured network monitoring system Nagios.
    Technologies: Linux, PHP, MySQL, C
  • Application Developer

    2001 - 2001
    Datakon s.r.o.
    • Created a web application for monitoring manufacturing processes for paper and pulp.
    Technologies: Linux, Apache HTTPD, MySQL, PHP
  • Web and Server Developer

    2000 - 2001
    ProWeb Consulting, a.s.
    • Developed an information system for doctors in PHP.
    • Implemented a custom mail agent in C.
    Technologies: HTML, PHP, C
  • Application Developer

    2000 - 2000
    Procesná Automatizácia a.s.
    • Created an application for managing warehouse stock in Borland C++.
    Technologies: C++

Experience

  • Wirecard Switch (Development)

    Solution of mobile payments for Wirecard. My role was development of the web-client and server. Core technologies are Spring and JPA on server and AngularJS on client side.

    Worked with these technologies, among others: Advanced Spring Web (REST API), Spring Security, FlywayDB, Robot Test Framework, and Swagger on the server side; AngularJS, Bootstrap, Webpack (with bower, npm), and Apache FOP XSLT on the client side; and Robot Framework (integration tests, python), and Mercurial in other areas.

  • Sales Integration System (Development)

    Application for integrating various heterogenous back-end systems of various customers focused on sales. It includes management of stocks, customers, contacts, orders, refunds, and tasks (meetings) and provides some statistical analysis.

    The architecture consists of three distributed layers:

    • Back end on customer side
    • Central application server
    • Mobile client for retail dealers

    The central application server synchronizes with back-ends and the mobile client synchronizes with the central server. The solution enables retail dealers to manage meetings and to do sales directly on customer's site.

    My role was to design and develop the Android application and to clean up and develop additional features of the central application server. My task was also to design and implement a universal and extensible synchronization subsystem between server and back-ends.

    Technologies used:

    • Android SDK with Android support libraries. Includes Activities, Fragments, Services, Content Providers, SQLite, Notifications, Alarms, and Preferences.
    • Server: Glassfish 4 (EJB, JPA using EclipseLink, JTA, JAX-RS Client and Server using Jersey and CDI)

  • Templates for Mulesoft Anypoint Studio (Development)
    https://www.mulesoft.com/platform/templates

    Development of templates for Mulesoft Anypoint Studio. The purpose of the templates is to provide a base for integrating the two platforms. Every template works with a different type of business object, different platforms, and a different way of integration. Platforms: Salesforce, SAP, Oracle Siebel, Workday, and Servicenow. Integration ways: aggregation, migration, broadcast, and bi-directional synchronization. Including writing of integration tests.

  • GPX Animator (Development)
    http://zdila.github.io/gpx-animator/

    GPX Animator generates a video from GPX files. It is written in Java using Swing.

  • GPS SMS Monitoring (Other amazing things)
    https://github.com/zdila/arduino_gps_gsm_tracker

    A hobby project about GPS monitoring via SMS based on Arduino, Mediatek GPS module and SIM900A GSM module. The tracking module is controlled and queried by SMS. Suitable for things like vehicle tracking.

  • Arduino based GPS Datalogger and Applications (Other amazing things)

    Hobby project. The project involved creating GPS Dattalogger based on Arduino AVR. Includes the following parts: Arduino Uno compatible, GPS receiver (UBlox/Mediatek, NMEA, UART), SD card (I2C), step-up boost switching power supply, status indication. Integrated SPI Flash memory. Firmware developed with Arduino SDK + libraries.

    Also got experience working with text LCD display, barometric sensor, transmitters (433MHz and 2.4GHz), bluetooth (UART) and communication with Android, RGB LED Strip, GSM module SIM900A. Good soldering skills and understanding of electronics.

  • RGB LED Strip Android Controller (Other amazing things)

    A hobby project with an RGB LED strip controller based on Arduino Leonardo, controlled via Bluetooth with my own Android application. Includes RTC for "offline" scheduling.

  • Resource and Order Management System (Development)

    Development of a resource and order management system.

    Technologies: EclipseLink, Glassfish, MySQL, AngularJS

  • Exisport Maps (Development)

    Developed a client-side map related to parts mostly based on jQuery and Leaflet.

  • Relution (Development)

    Software architect and developer of the product.

    The mCAP is M-Way's basic building block, which provides the mobile infrastructure for businesses. It can be used to implement a variety of different mobile services which can be used for reproduction of enterprise applications. Services and applications for various operating systems can be managed via one platform. The mCAP is highly scalable and optimized for maximum performance.

    Technologies used in the first version: Java, Dojo 0.3, Apache Jackrabbit JCR 1.x, Spring Framework, Servlets, web technologies, and more

    Technologies used in the second version: Java, Spring DM, Apache Jackrabbit JCR 1.x, M-Way ORM, Spring Security, OSGi (Apache Felix). OSGi Enterprise (Configuration Admin, Matatype, Declarative Services, HTTP services, Evends, Logging, User Admin), Log4j, Slf4j, JAXP, JAXB, Spring Framework 2.x - 3.x, GWT 1.4 - 2.5, Servlets, Web Technologies, Jersey (JAX-RS), Jackson (JSON), JAXB, SAX, StAX, XPath, and XSLT.

  • Mobile Device Management (Development)

    Software architect and developer.

    The Mobile Device Management (MDM) platform provides easy to use features for the core aspects of Enterprise Mobility Management (EMM) like configuration management, application management, security, and monitoring.

    Technologies: mCAP, iOS MDM, iOS Push, GCM, Android MDM application development, SCEP Server development, SyncML, Activesync

  • Mobile Banking Client (Development)

    Architect and developer of Mobile Banking Client J2ME Midlet. Technologies: J2ME Polish, WTK.

  • Website Irian.at (Development)

    Developer of the http://irian.at/ website. Currently another, more recent version, is online. Techologies: JSF Facelets, Web Presentation Technologies

  • Apparo Fast Edit (Development)
    http://www.apparo.info/en/product

    Software architect and developer of the product.

    Apparo Fast Edit can help you expand your business intelligence environment to include a high-performance data entry component featuring Excel data import support for your everyday business activities.

    Technologies: Java, Struts 1.0, Spring Framework 2.x, Hibernate 3.x, JDBC, JSF 1.0, Web Technologies

  • Kovine Business Graphics (Development)

    Developer of the web application for drawing graphs from Cognos OLAP Cubes. Technologies: Java, JSP, HTML, CSS, AJAX, Eclipse Modeling Framework, Struts, Servlets

  • Informator (Development)
    http://sourceforge.net/projects/informator/

    Software architect and developer of the product.

    Informator is a system residing on an Internet Gateway to send pop-up messages via Web Browser to a specific host on LAN. That could be useful for Internet Service Providers if they need to send some information to their customers.

    Technologies: PHP 4, MySQL, Linux, Apache HTTP, Netfilter, Transproxy 1.5

  • Paper Manufacturing Monitoring System (Development)

    A monitoring system for process of manufacture of paper and pulp. Software architect and developer. Technologies: PHP 4, MySQL

  • Stock Monitoring Application (Development)

    Developed the application in Borland C++ for stock monitoring.

  • Gruveo (Development)
    https://www.gruveo.com/

    React/Node.js development of WebRTC videoconference application. I have been the only developer of the web app (excluding design and styling) and back-end servers.

  • Freemap Slovakia Portal (Development)
    https://www.freemap.sk/

    Developed the web app (PWA) in TypeScript with React + Redux and backend server in Node.js.

    Webapp: https://github.com/FreemapSlovakia/freemap-v3-react
    Backend: https://github.com/FreemapSlovakia/freemap-v3-nodejs-backend

  • Toposcope Designer (Development)

    Developed the web app in React.

  • Garage Door WiFi Controller (Development)

    Developed firmware for Garage Door controller based on ESP8266 and Mongoose OS.

  • RGB-CWW LED Lamp Driver (Development)

    Developed firmware for RGB-CWW LED lamp based on ESP8266 and Mongoose OS.

  • SmartHome Mockserver (Development)

    Developed SmartHome backend mockserver for easier application plugin development and desting. React, Redux, TypeScript, NodeJS.

  • Outdoor map layer (Development)
    https://www.freemap.sk/?layers=X

    Developed Outdoor map layer writing my own mapserer which is written in Nodejs and uses Mapnik to render the map. Created a new way to write Mapnik styles - in JS, using "JsNik".

    https://github.com/FreemapSlovakia/freemap-mapnik
    https://github.com/FreemapSlovakia/freemap-mapserver
    https://github.com/FreemapSlovakia/jsnik

  • Presentation on SoTM CZ+SK 2019 about Freemap Webapp and Outdoor Map (Other amazing things)
    https://openstreetmap.cz/sotm/2019

    I was a presenter on Presentation on SoTM CZ+SK 2019. You can find both of my recorded presenttions at https://openstreetmap.cz/sotm/2019 (Martin Ždila).

  • Presentation on SoTM CZ+SK 2016 about Freemap Slovakia (Other amazing things)
    https://openstreetmap.cz/sotm/2016

    You can find my presentation at https://openstreetmap.cz/sotm/2016 (Martin Ždila)

  • Presentation about Mongoose OS with Demo (Other amazing things)
    https://docs.google.com/presentation/d/1dIXqMXzXAHo3agcn2OgOQ0g5IyxKvipEKg0eU7FG1QA/edit?usp=sharing

    I had a presentation about Mongoose OS with demo on Eastcode Sessions.

  • Presentation about LPWAN (Other amazing things)
    https://docs.google.com/document/d/1M4GWWOX8Wn8ryGqmg5JDe6V4tQNX1G4eefoz0z2dwyM/edit?usp=sharing

    I had a presentation about LPWAN (LoRa WAN, Sigfox) on Eastcode Sessions.

Skills

  • Languages

    ECMAScript (ES6), JavaScript, Java, CSS, HTML, HTML5, ES7, TypeScript, XSLT, Bash Script, CSS3, SQL, C, PHP, Visual Basic, Groovy, Perl
  • Frameworks

    Redux, Express.js, Spring JDBC, Koa, Flux, Spring, OSGi, JavaServer Pages (JSP), OAuth 2, Apache Felix (OSGI), Hibernate, JPA, Bootstrap 3, JUnit, GWT, Spring MVC, Electron.js, Tapestry, Swing, Vert.x, Jersey, Spring Security, Qt, Apache Axis, JSF, Grails, React Native
  • Libraries/APIs

    Node.js, React Router, React, LeafletJS, Java Collections, Java Servlets, JDBC, SAX, JAXB, OpenStreetMap API, WebRTC, React Redux Form, JMX, Java Security, Android Support Library, Apache HttpClient, Jackson, JTA, JAX-RS, Android API, Google Drive API, Google Analytics API, Java 2D, Apache Lucene, JGroups, Facebook API, D3.js, OpenGL, jQuery, Styled-components, Google APIs
  • Tools

    Redux Thunk, Webpack, JOSM, Eclipse IDE, AWS Push Notification Service (AWS SNS), AWS SES, AWS ElastiCache, AWS EBS, NPM, Bower, Apache Ant, Android Studio, Maven, Apache Tomcat, Jetty, Java Concurrency, Inkscape, Gimp, Ivy, Subversion (SVN), Mercurial, Git, Atom, Docker Compose, Javadoc, Apache JMeter, BrowserStack
  • Paradigms

    REST, Agile Software Development, Design Patterns, OLAP
  • Platforms

    JSE, Linux, Visual Studio Code, AWS Elastic Beanstalk, AWS EC2, Apache Server, Debian Linux, Java ME, Java EE, Oracle Database, Android, Arduino, Windows, Docker, Mule ESB
  • Storage

    MySQL, AWS S3, AWS RDS, Redis, Spring Data, PostGIS, PostgreSQL, SQLite, JavaDB, Apache Derby, MongoDB
  • Other

    OSGi Metatype, OSGi Configuration Admin, OSGi Declarative Services, HTTP, Software Design, ES6 Promises, Chrome Extensions, GPS, OSGi User Admin, OSGi Event Admin, OSGi HTTP Service, AT Commands, Apache Commons, CartoCSS, Public-key Cryptography, LDAP, ESP8266, ESP32, Mapnik, Styled Components, AWS Route 53, Apache FOP, SVG, SMTP, POP3, IMAP

Education

  • Master of Science degree in Informatics
    1998 - 2003
    Technical University Košice - Košice
  • Technical High School degree in Electronic Computer Systems
    1993 - 1998
    Secondary School of Electrical Engineering in Košice - Košice

To view more profiles

Join Toptal
I really like this profile
Share it with others