Χαρτοφυλακιο Εργων
🗂️📄
#45DTA File Hub · Full-Stack Secure Client File Delivery PortalApr 2026 – Present🗂️📄
#44DTAutomation · Bilingual Professional Portfolio & Brand PlatformMar 2026 – Present🗂️📄
#43Applied R&D, Full-Stack, Life Cycle, Continuous Improvement Development: Machinery Operation Philosophy Enhancement & Design, Integration, Configuration, Programming, Commissioning & Functional Integrity Verification (FAT/SAT) of all underline Industrial Automation Equipment involved (PLC, HMI, Industrial Robots, Servo Drives, Stepper Drives, VFDs)Jan 2020 – Present🗂️📄
#42Single Servo-Axis Flow Pack MachineJun 2019🗂️📄
#41Automated Metal Hinge Drilling and Tapping Processing MachineFeb 2019 – Apr 2019🗂️📄
#40Automated Sheet Metal Feeder & Iron Casting Press MachineSep 2018 – Nov 2018🗂️📄
#39A Proprietary Application User Interface Tool For Calibrating And Evaluating The Taught Points Inside A Fanuc Teach Pendant ProgramJul 2018 – Aug 2018🗂️📄
#38Automated Robotic Cell For Weight Plates DistributionJun 2018 – Aug 2018🗂️📄
#37Troubleshooting & Maintenance Of An Automated Silicone Tube Production MachineApr 2018🗂️📄
#36Operational Functioning Review Of A Theater Automation System Infrastructure And Overall Optimization Of Its Underlying PLC And HMI Software In Order To Comply Accordingly With The Standards Of Din 56950-1 And IEC 61508 (SIL3)Sep 2017 – Dec 2017🗂️📄
#353 Servo-Axis Flow Pack MachineDec 2017🗂️📄
#34Re-Design, Re-Program And Re-Implementation Of A Process Automation System For The Transportation And Supply Of Empty Cans To A Canning Plant's Fruit Filling StationsJun 2017 – Jul 2017🗂️📄
#33Obsolete Fruit Juice-Puree Aseptic/Filling Process Automation Machine Maintenance, Troubleshooting & CommissioningJun 2017🗂️📄
#32Asphalt Process Automation Production Plant TroubleshootingFeb 2017 – Mar 2017🗂️📄
#31Automated Robotic Cell For MIG Welding Process2016 – 2017#30Design, Development And Implementation Of A Real-Time And Fault-Tolerant ModBus RTU Master Function-Block Library For Mitsubishi iQ-F FX5 PLC2017 🗂️📄
#29Troubleshooting, Maintenance & Optimization Of A Fruit Juice/Puree Aseptic/Filling Process Automation MachineNov 2016🗂️📄
#28Maintenance And Update Of A Fruit Juice/Puree Aseptic/Filling Process Automation MachineNov 2016🗂️📄
#27Motion Control System Upgrade Of "Pack Line PXM Filling And Sealing Machine"Oct 2016🗂️📄
#26Automated Robotic Cell For "Assembly & Welding Of Vertical Type Micro-Wind Turbine Parts"2014 – 2016#25Design, Development And Implementation Of Function-Block Library For Driving Delta Inverters Through Modbus With Simatic S7-1200 PLC2016 #24Design, Development And Implementation Of Function-Block Library For Driving Solocom & Hapn VFD's Through Modbus With Simatic S7-1200 PLC2016 🗂️📄
#23Improvement And Optimization Of Animal Food Production Process2016🗂️📄
#22Industrial Automation Infrastructure Upgrade At The Facilities Of Biological Wastewater Treatment Of Thessaloniki (Greece)2015 – 2016
(function() { function initP5() { var list = document.getElementById('dta-p5-list'); if (!list) return; var s = document.createElement('style'); s.textContent = '#dta-p5-list{max-height:420px!important;overflow-y:scroll!important;overscroll-behavior:contain!important;}'; document.head.appendChild(s); list.addEventListener('wheel', function(e) { e.stopPropagation(); }, { passive: true }); } initP5(); setTimeout(initP5, 300); setTimeout(initP5, 800); })(); window.addEventListener('load', function() { window.dtaExtraData = window.dtaExtraData || {}; /* ── #45 ── */ var d45 = {}; d45['title'] = 'DTA File Hub \u00b7 Full-Stack Secure Client File Delivery Portal'; d45['date'] = 'April 2026 \u2013 Present'; d45['description'] = [ { type: 'achievement', text: 'Full-Stack Web Application \u00b7 Cloud Infrastructure \u00b7 DevOps' }, { type: 'achievement', text: 'Conceptualized, independently architected, developed, tested and deployed DTA File Hub \u2014 a full-stack secure file management and client delivery portal at files.dt-automation.net \u2014 built on Cloudflare infrastructure (Workers, Pages, R2, Zero Trust Access) with Resend email delivery and Svix webhook verification. Features a multi-role system (Admin, Accounting, Client), 27 API endpoints, serial-numbered client delivery workflow (DTA-DEL-CLTxxx-YYYY-NNN), persistent activity logging with 11 event types, real-time email status badges, PIN-protected client delivery page with ZIP download, dynamic space access management with no redeploy required, and subfolder navigation. Running cost: \u20ac0/month on free tiers. Total: ~28 hours of design, development, testing and deployment.' }, { type: 'integration', label: 'Tools & Technologies:', items: [ 'Cloudflare Workers (JS)', 'Cloudflare R2 \u00b7 Cloudflare Pages \u00b7 Cloudflare Zero Trust', 'Resend API \u00b7 Svix \u00b7 JSZip', 'Claude.ai (Anthropic)' ]} ]; window.dtaExtraData['#45'] = d45; /* ── #44 ── */ var d44 = {}; d44['title'] = 'DTAutomation \u00b7 Bilingual Professional Portfolio & Brand Platform'; d44['date'] = 'March 2026 \u2013 Present'; d44['description'] = [ { type: 'achievement', text: 'Web Platform \u00b7 Brand Development \u00b7 Front-End Engineering' }, { type: 'achievement', text: 'Conceptualized, designed, developed, tested and deployed a professional bilingual (EN/GR) portfolio & brand platform at dt-automation.net \u2014 encompassing full Brand Name Development and independently architected on Carrd.co Pro Plus with a custom 15 Body End embed JS architecture, inter-embed global bridge system, slide-in project modal with structured data rendering, GLightbox + Plyr video system with muted autoplay deeplink support, 43-project portfolio with persistent row highlight, LinkedIn-compatible video & project deep link infrastructure via GitHub Pages (12 video deep links + 43 project deep links with OG tags and project-specific thumbnails), Web3Forms + hCaptcha contact system, full SEO / Open Graph / Schema JSON-LD implementation across both domains, and site protection. Total: ~32 hours of design, development, testing and deployment.' }, { type: 'integration', label: 'Tools & Technologies:', items: [ 'Carrd.co Pro Plus', 'HTML5 \u00b7 CSS3 \u00b7 JavaScript (ES5/Vanilla)', 'GitHub Pages \u00b7 GLightbox \u00b7 Plyr.js', 'Python (ReportLab, Pillow)', 'Web3Forms \u00b7 hCaptcha \u00b7 JSON-LD / Schema.org', 'Claude.ai (Anthropic)' ]} ]; window.dtaExtraData['#44'] = d44; });
(function() { /* Inject active highlight class — hover styles + left border + background glow */ var style = document.createElement('style'); style.textContent = '.dta-p5-row--active{background:rgba(29,158,117,0.12);box-shadow:inset 0 0 12px rgba(93,202,165,0.08);border-left:3px solid #1D9E75;padding-left:6px;transition:none;}' + '.dta-p5-row--active .dta-p5-icon-base{filter:drop-shadow(0 0 7px rgba(93,202,165,0.9)) drop-shadow(0 0 14px rgba(29,158,117,0.6));}' + '.dta-p5-row--active .dta-p5-icon-orbit{animation:dta-orbit 1.4s linear infinite;filter:drop-shadow(0 0 5px rgba(93,202,165,0.9)) drop-shadow(0 0 10px rgba(29,158,117,0.6));}' + '.dta-p5-row--active .dta-p5-num{color:rgba(93,202,165,0.85);}' + '.dta-p5-row--active .dta-p5-name{color:#9FE1CB;text-shadow:0 0 8px rgba(93,202,165,0.4);}' + '.dta-p5-row--active .dta-p5-date{color:rgba(93,202,165,0.75);}'; document.head.appendChild(style); /* Highlight a row by project number string e.g. '#26' */ window.dtaHighlightProject = function(num) { var list = document.getElementById('dta-p5-list'); if (!list) return; var prev = list.querySelector('.dta-p5-row--active'); if (prev) prev.classList.remove('dta-p5-row--active'); var rows = list.querySelectorAll('.dta-p5-row'); var target = null; for (var i = 0; i < rows.length; i++) { var numEl = rows[i].querySelector('.dta-p5-num'); if (numEl && numEl.textContent.trim() === num) { target = rows[i]; break; } } if (!target) return; target.classList.add('dta-p5-row--active'); target.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }; /* Attach persistent click highlight to list container */ function attachClickHighlight() { var list = document.getElementById('dta-p5-list'); if (!list || list.dataset.highlightAttached) return; list.dataset.highlightAttached = 'true'; list.addEventListener('click', function(e) { var clickedRow = e.target.closest('.dta-p5-row'); if (!clickedRow) return; var numEl = clickedRow.querySelector('.dta-p5-num'); if (!numEl) return; window.dtaHighlightProject(numEl.textContent.trim()); }, true); } /* Parse deeplink project number if present */ var href = window.location.href; var hasDeeplink = href.indexOf('project=') !== -1; var deeplinkNum = null; if (hasDeeplink) { var pVal = href.slice(href.indexOf('project=') + 8).replace(/^(%23|#)/, ''); var pMatch = pVal.match(/^(\d+)/); if (pMatch) { var n = parseInt(pMatch[1], 10); deeplinkNum = '#' + (n < 10 ? '0' + n : '' + n); } } var initialized = false; function init() { if (initialized) return; var list = document.getElementById('dta-p5-list'); if (!list || list.querySelectorAll('.dta-p5-row').length === 0) return; initialized = true; attachClickHighlight(); if (deeplinkNum) { window.dtaHighlightProject(deeplinkNum); } } /* MutationObserver — watches for list to appear/populate in DOM */ var observer = new MutationObserver(function() { var list = document.getElementById('dta-p5-list'); if (list && list.querySelectorAll('.dta-p5-row').length > 0) { init(); observer.disconnect(); } }); observer.observe(document.body, { childList: true, subtree: true }); /* Polling fallback — deeplink needs fast init, normal needs patience */ var delay = hasDeeplink ? 400 : 1500; var attempts = 0; var maxAttempts = 200; function tryInit() { attempts++; init(); if (!initialized && attempts < maxAttempts) { setTimeout(tryInit, 150); } else { observer.disconnect(); } } function startPolling() { setTimeout(tryInit, delay); } if (document.readyState === 'complete') { startPolling(); } else { window.addEventListener('load', startPolling); } })();