-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.119b4716.js
1 lines (1 loc) · 2.58 KB
/
index.119b4716.js
1
const projects=[{name:"Edge App: Plc Configuration",details:["Delivered a SAAS app for the edge ecosystem that is used for configuring Omron, Allen Bradley, Mitsubishi PLC. Using a common configurator for all PLC reduced the app size on disk by 50%.","Tech stack used are Angular, Node.js, Express.js, C++ and Docker.","Used REST API, Websockets, GRPC and MQTT as mode of communication between the various services."]},{name:"Connection Broker",details:["Developed a web based connection broker, for managing connections between Siemens ITC devices and industrial plant devices such as IPC, HMI Panels, Edge Boxes .etc.","Tech stack used was Angular, Node.js, Express.js and Docker.","Used REST API and MQTT as mode of communication between the various services."]},{name:"Web Engineering System",details:["Built a web based engineering system for Siemens Comfort 2nd Gen Panels, which is expected to increase the feature delivery cycles for the panel runtime by 4x.","Tech stack used are React.js, Node.js, Express.js and C++"]},{name:"Hmi Runtime UI",details:["Implemented the Trend Control module for the HMI Runtime to visualize time series PLC data. Used Qt Scene Graph which reduced the CPU load by 30%.","Implemented the Multi Touch Gesture module. Supports gestures such as panning and pinch zoom with upto 5 simultaneous touch points."]}];class ProjectView{projectIndex=0;constructor(){this.displayProject()}displayProject(){const e=document.getElementById("projects-list");e.innerHTML="";const t=projects[this.projectIndex],s=document.createElement("h3");s.innerHTML=t.name;const n=document.createElement("ul");n.className="details";for(const e of t.details){const t=document.createElement("li");t.innerHTML=e,n.appendChild(t)}e.appendChild(s),e.appendChild(n)}next(){this.hasNext()&&(++this.projectIndex,this.displayProject())}previous(){this.hasPrevious()&&(--this.projectIndex,this.displayProject())}hasNext(){return this.projectIndex!=projects.length-1}hasPrevious(){return 0!=this.projectIndex}}!function(){const e=new ProjectView;function t(){e.hasNext()?e.hasPrevious()||(document.getElementById("left-slide-arrow-project").style.color="gray",document.getElementById("right-slide-arrow-project").style.color="var(--section-color-secondary)"):(document.getElementById("right-slide-arrow-project").style.color="gray",document.getElementById("left-slide-arrow-project").style.color="var(--section-color-secondary)")}t();document.getElementById("left-slide-arrow-project").addEventListener("click",(()=>{e.previous(),t()}));document.getElementById("right-slide-arrow-project").addEventListener("click",(()=>{e.next(),t()}))}();