aleš krištof<!-- --> - <!-- -->work

RMS - monitoring system

Monitoring system with dashboard, developed as reactive, event driven architecture to monitor instances of IDM. IDM systems can send data, which is then processed by microservices communicating through Apache Kafka messages, data is dispatched to dashboard which updates state and dispatches notifications.

The idea was to ease and speed up support for IDM and react to problems proactively, as it is important system for clients. Other reason for development was to get experience with microservices architecture and modern DevOps approaches and that's why it is a bit overengineered.

I have made backend architecture and programmed all of its microservices in Go language that are deployed as Docker containers in Kubernetes cluster. The cluster was brought up on own infrastructure - virtual machines, using Rancher tools and is designed with automatic failovers (HA) in mind. All deployment is automated with Jenkins as CI system and Argo as CD, implemented in a GitOps way.

Tech stack:

Year: 2021

Akademika

I work as a technical lead and architect for web department, specializing in systems integrations and developing user friendly web and mobile solutions for SAP ERP and ECM systems. As part of my work I have to communicate with large enterprise clients, which includes some of Slovenia's biggest companies, to find the best solution for their projects. I also try to keep my team's technical knowledge up to date, with introducing newer methods and technologies that can help our clients optimize and automate their work.

My projects included migration of source control from TFS to Git, introducing company knowledge database, optimizing development and support cycle of projects and introducing CI/CD process for faster and more reliable product releases.

I also manage internal development infrastructure (network, servers, virtual machines and backups), build, integrate and manage internal tools - Git platform and time tracking software.

Link: https://akademika.si

Years: 2017 -

  • Business Partner Portal

    Customer portal and SRM product where I'm collaborating as architect and technical consultant. It enables companies to effectively communicate and exchange documents with their suppliers. Developed as SPA, it can connect and get data from SAP ERP and store documents to ECM, specifically OpenText Content Server.

    Its modular basis and group-based permissions enable users to set product to their needs. Modules include: inquiry and offer system, orders, delivery notes, invoices, supplier registration, qualification and classification, ...

    Tech stack:

    Year: 2020

  • OBS - internal product for time tracking

    Time tracking web solution that was developed for internal use, where employees enter time spent on projects or support tickets. Automatically generated reports enable analysis of time spent per client for support vs. time spent for new products or time spent on outsourcing projects that do not have in-company project management.

    Tech stack:

    Year: 2019

  • Akademika Document Link

      Backend service that is acting as SAP Archive Link (REST) server on one side and stores document to different ECM servers on other side - used as intermediary for content management solutions that do not provide SAP integration by default. It has to deal with different authentication options and integration endpoints, including SOAP and REST. It is developed as high concurrency, fast and stable service as important company processes rely on it, so writing it in Go turned out to be a great choice.

      Tech stack:

      Year: 2019

    • Akademika Webinbox 2

      SPA style page developed in SAP OpenUI5 JavaScript framework that serves as alternative interface for SAP financial processes and documents. It can be deployed standalone or as feature rich Fiori launchpad application. It is completely dynamic - SAP sends all the configuration options and data as REST API responses. This way it's mostly used as SAP web framework and as such enables SAP programmers to easily develop web interfaces that are accessible from anywhere, including mobile devices, without having to install special clients.

      Software design and development of the product was mostly done by me, which gave me oportunity to learn about SAP UI5 framework and Fiori application development.

      Tech stack:

      Year: 2018

    • IDM - Incoming Document Management

      Solution used by large companies as integration and document exchange between different systems. It is mostly used for invoices, transfering them from 3rd party interexchanges and email systems, through OCR and into ERP or ECM systems. This standard program can be easily tailored to clients' needs with lots of configuration options and built in scripting language as well as used to identify problems and bottlenecks with different systems.

      I made initial architecture and design, based on previous custom tailored solutions and client requests, and also programmed lots of it. It was built as windows service and web frontend, with high concurrency, easy extensions and integrations in mind, also accounting for faster and more reliable processing of large amounts of documents. One challenge was making it reliable and stable, regardless of 3rd party service instabilities. It is used in more than 10 large companies, processing around 5000 documents/invoices per day.

      Tech stack:

      Year: 2017

    eBlagajna

    I was a part of team developing one of the mostly used SaaS POS software in Slovenia and we rewrote old version of their software, using newer technologies. I developed cruical parts of systems and made sure software was finished in time.

    We had to follow Slovenian tax regulations, which ment integrating on-the-fly online invoice verification and printing QR code on all invoices.

    Link: https://eblagajna.com/

    Years: 2015 - 2017

    • eBlagajna POS

        Main POS program with same codebase for different operating systems - running on Windows, Linux, Android and iOS.

        One of main challenges and my responsibilities were writing online software updates that are done in background, online and offline secure storage and sync with backoffice for reporting and backup, connecting and low level printing on different thermal printers using JavaScript technology, integration of mobile wallet/payment system Moneta/VALÚ, and developing a system for multiple POS clients to discover each other and to sync their data on local networks.

        Bigger project as part of this software was loyalty and prepaid card system, using NFC cards and communication with NFC readers.

        With new version we ran, made online updates to and constantly sync more than 1000 POS clients at once.

        Tech stack:

        Year: 2015

      • eBlagajna manager

        POS software online backoffice with inventory management, list of invoices issued, access management and business reports. My work included optimizing queries, security and rendering of large data tables, writing advanced graphical interface based on canvas for restaurant or bar floor drawing so users have overview of tables in use.

        We also developed light mobile client so customers have constant updates how their business is doing and are able to make changes on the move.

        Tech stack:

        Year: 2015

      • eBlagajna API

          I designed, developed and documented secure REST API which is able to communicate with either backoffice or POS clients and is needed for connecting with 3rd party software, mostly e-commerce sites. This enables customers to have invoices issued with single system.

          Tech stack:

          Link: https://api.eblagajna.com/

          Year: 2015

        Klaro (DHH.si)

        I was employed as software engineer where I worked mostly on supporting and upgrading of inhouse built CMS with online store module, written in PHP and Dojo JavaScript framework with data stored in MySQL. This involved international client, for whom I built support for different online payment systems. As a part of optimization and upgrades I also started migration of customer’s store to Magento e-commerce platform.

        I also helped with optimization and upgrades of internal CRM used by one of the largest hosting and domain providers in Slovenia.

        One of my responsibilities was also optimization of development process and some automation of deployment. As part of this I replaced Subversion control system with Git and GitLab software.

        Link: https://www.klaro.si/

        Years: 2014 - 2015

          Older projects