diff --git a/asset-manifest.json b/asset-manifest.json index e225c88..fb1954f 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,14 +1,14 @@ { "files": { "main.css": "/static/css/main.d1fa99be.chunk.css", - "main.js": "/static/js/main.c5ddfbce.chunk.js", - "main.js.map": "/static/js/main.c5ddfbce.chunk.js.map", + "main.js": "/static/js/main.593aef7d.chunk.js", + "main.js.map": "/static/js/main.593aef7d.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.fdf9dd77.js", "runtime-main.js.map": "/static/js/runtime-main.fdf9dd77.js.map", "static/js/2.c1de8bbe.chunk.js": "/static/js/2.c1de8bbe.chunk.js", "static/js/2.c1de8bbe.chunk.js.map": "/static/js/2.c1de8bbe.chunk.js.map", "index.html": "/index.html", - "precache-manifest.61222044d9420a6c5f3902ad6cd6ef07.js": "/precache-manifest.61222044d9420a6c5f3902ad6cd6ef07.js", + "precache-manifest.2f63a3ead19b0a13ecc464d509ea4712.js": "/precache-manifest.2f63a3ead19b0a13ecc464d509ea4712.js", "service-worker.js": "/service-worker.js", "static/css/main.d1fa99be.chunk.css.map": "/static/css/main.d1fa99be.chunk.css.map", "static/js/2.c1de8bbe.chunk.js.LICENSE.txt": "/static/js/2.c1de8bbe.chunk.js.LICENSE.txt" @@ -17,6 +17,6 @@ "static/js/runtime-main.fdf9dd77.js", "static/js/2.c1de8bbe.chunk.js", "static/css/main.d1fa99be.chunk.css", - "static/js/main.c5ddfbce.chunk.js" + "static/js/main.593aef7d.chunk.js" ] } \ No newline at end of file diff --git a/index.html b/index.html index 0de7d2c..6ad9820 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/precache-manifest.61222044d9420a6c5f3902ad6cd6ef07.js b/precache-manifest.2f63a3ead19b0a13ecc464d509ea4712.js similarity index 72% rename from precache-manifest.61222044d9420a6c5f3902ad6cd6ef07.js rename to precache-manifest.2f63a3ead19b0a13ecc464d509ea4712.js index c06fd06..e23324d 100644 --- a/precache-manifest.61222044d9420a6c5f3902ad6cd6ef07.js +++ b/precache-manifest.2f63a3ead19b0a13ecc464d509ea4712.js @@ -1,10 +1,10 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ { - "revision": "543dc940ab91bedbf419d72f2e137e46", + "revision": "223940683ad8b0c255d2d1a34cd697e0", "url": "/index.html" }, { - "revision": "ef433fd93ac654c4e9e5", + "revision": "067e2726b6c3634f3755", "url": "/static/css/main.d1fa99be.chunk.css" }, { @@ -16,8 +16,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/js/2.c1de8bbe.chunk.js.LICENSE.txt" }, { - "revision": "ef433fd93ac654c4e9e5", - "url": "/static/js/main.c5ddfbce.chunk.js" + "revision": "067e2726b6c3634f3755", + "url": "/static/js/main.593aef7d.chunk.js" }, { "revision": "de516b6f04d9c2f84886", diff --git a/service-worker.js b/service-worker.js index 45302df..dd0b6d7 100644 --- a/service-worker.js +++ b/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "/precache-manifest.61222044d9420a6c5f3902ad6cd6ef07.js" + "/precache-manifest.2f63a3ead19b0a13ecc464d509ea4712.js" ); self.addEventListener('message', (event) => { diff --git a/static/js/main.c5ddfbce.chunk.js b/static/js/main.593aef7d.chunk.js similarity index 99% rename from static/js/main.c5ddfbce.chunk.js rename to static/js/main.593aef7d.chunk.js index 24eaa00..5188db1 100644 --- a/static/js/main.c5ddfbce.chunk.js +++ b/static/js/main.593aef7d.chunk.js @@ -1,2 +1,2 @@ -(this["webpackJsonpgsaini.github.io"]=this["webpackJsonpgsaini.github.io"]||[]).push([[0],[,function(e){e.exports=JSON.parse('{"name":"Gopal Saini","designation":"Architect/Specialist Experience Technology","company":"Publicis Sapient","title":"Welcome to Gopal Saini\'s Homepage!","aboutMe":"Full stack engineer with 10+ years experience in information technology, specialising in the design of application architectures and creafting of user experience.","mobileNumber":"+1 551 200 4845","emailAddress":"gopal.saini.work@gmail.com","location":"New York City (NYC), USA","avatarUrl":"https://avatars1.githubusercontent.com/u/1699577?s=400&u=96a4a04aaf87f52fcb51b729df9d80ef11be9537&v=4","educations":[{"iconCls":"fas fa-university","year":"2005-2009","institute":"Sobhasaria Engineering College, Sikar (Rajasthan)","stream":"Computer Science & Engineering"},{"iconCls":"fas fa-school","year":"1991-2005","institute":"Shekhawati Sr. Secondary School, Losal (Sikar)","stream":"High Secondary, PCM"}],"tiles":{"1":{"title":"Career Timeline","bgColor":"#F7AF1F","timelines":[{"year":2020,"designation":"(Aug 2019 - Present) | Architect Experience Technology, Publicis Sapient (NYC, USA)","projects":[{"name":"Goldman Sachs | DAS - Digital Advisor Solution","techStack":"HTML5, CSS3, ES6, Typescript, ReactJS, Apollo GraphQL, Webpack, NodeJS, AngularJS, Storybook, Testing-Library","description":"The Goldman Sachs Group, Inc., is an American multinational investment bank and financial services company headquartered in New York City. It offers services in investment management, securities, asset management, prime brokerage, and securities underwriting."}]},{"year":2019,"designation":"(Aug 2018 - June 2019) | Architect Experience Technology, Publicis Sapient (London)","projects":[{"name":"Llloyds Banking Group | MIP - Machine Intelligence Program","techStack":"HTML5, CSS3, ES6, NodeJS, DevOps - Docker, Kubernetes, Jenkins Declartive Pipelines, Sonarqube, Google Cloud Platform - App Engine, Compute Engine, GKE, Cloud Run.","description":"Lloyds Bank is the largest retail bank in Britain and has an extensive network of branches and ATM in England and Wales (as well as an arrangement for its customers to be serviced by Bank of Scotland branches in Scotland, Halifax branches in Northern Ireland and vice versa) and offers 24-hour telephone and online banking services.

Machine intelligence programme is growing bank\'s data and artificial intelligence capabilities. We developed advanced propositions, generated and applied insights that allowed bank to help their customers and colleagues."}]}]},"2":{"title":"","bgColor":"#4CB9AF","timelines":[{"year":2018,"designation":"Senior Associate, Publicis Sapient (London)","projects":[{"name":"(March 2017 - Aug 2018) | Lloyds Banking Group - Open Banking","techStack":"HTML5, CSS3, ES6, ReactJS, Webpack, NodeJS - Loopback","description":"Lloyds Bank is the largest retail bank in Britain and has an extensive network of branches and ATM in England and Wales (as well as an arrangement for its customers to be serviced by Bank of Scotland branches in Scotland, Halifax branches in Northern Ireland and vice versa) and offers 24-hour telephone and online banking services.

Open Banking is a change to UK regulation which gives you more control over your data and helps you bank the way you want to."}]},{"year":2016,"designation":"Senior Associate, Publicis Sapient (London)","projects":[{"name":"(June 2016 - March 2017) | Lloyds Banking Group - Shared Component","techStack":"HTML5, CSS3, ES6, ReactJS, Webpack, NodeJS - Loopback","description":"Lloyds Bank is the largest retail bank in Britain and has an extensive network of branches and ATM in England and Wales (as well as an arrangement for its customers to be serviced by Bank of Scotland branches in Scotland, Halifax branches in Northern Ireland and vice versa) and offers 24-hour telephone and online banking services. As of 2012 it has 16 million personal customers and small business accounts.

Shared component created a communication between Colleague & Customer to create & get the invite to open their account online. By Using Shared Component, Colleague will create an invite for their customers to open the accounts online & customers will get the invite from colleague & know what all documents need to upload to open his/her account in the bank."}]}]},"5":{"title":"","bgColor":"#71ca98","timelines":[{"year":2014,"designation":"Associate, Sapient (Gurugram)","projects":[{"name":"(Dec 2013 - June 2016) | Jato - Speedwing","techStack":"HTML5, CSS3, AngularJS, JAVA","description":"The Speedwing solution supported many more of the OEMs processes through the OEM Vehicle. The Speedwing solution designed to support JATO\u2019s Customers\u2019 business needs rather than delivering specific functionality or data.

Speedwing is a fully customizable solution with the ability to mirror OEM internal systems. It is therefore familiar and intuitive, easier to understand and combines both JATO and their content. At the heart of the solution is a high-performing database that combines Specifications, Prices, Options, Source Volumes, Volumes and Incentives into a single data model and is capable of being updated continuously or within a User-Defined schedule, with JATO data. Furthermore, Speedwing integrates seamlessly with new data, Customer data and Third party data."}]},{"year":2013,"designation":"Associate, Sapient (Gurugram)","projects":[{"name":"(June 2013 \u2013 Dec 2013) | Tiffany (DAM \u2013 Design & Implementation)","techStack":"HTML5, CSS3, jQuery, RequireJS, Templates \u2013 mustache, JAVA.","description":"DAM is an online portal to create, manage assets, brand center, Kits & campaigns for Tiffany & Co. administration."},{"name":"(March 2013 \u2013 June 2013) | NHSBT","techStack":"HTML5, CSS3, JQuery, PhoneGap","description":"NHSBT is an online portal to register, search & book schedule for donation blood processes in UK. "}]}]},"6":{"title":"","bgColor":"#52367c","timelines":[{"year":2012,"designation":"Software Consultant, Radicle Inc. (Gurugram)","projects":[{"name":"(March 2012 - Feb 2013) | BenchPrep","techStack":"Extjs-4, NodeJS, socket.io","description":"BenchPrep offers the industry\u2019s first comprehensive learner success platform to help learners attain academic and professional success. Organizations that administer certification, credentialing, test prep, and continuing education programs utilize BenchPrep\'s best-in-class enterprise SaaS platform to improve engagement rates and outcomes."}]},{"year":2009,"designation":"Application Developer, PSS Ajmer (Rajasthan)","projects":[{"name":"(Aug 2009 - March 2012) | iGurukul","techStack":".Net 4.0 using ASP.NET C#, Extjs-4, Json, Restful WCF Services, Crystal Report 2008, Ajax, XML, jQuery, CSS3, OpenXML, SCSS and MS SQL 2008","description":"iGurukul is a comprehensive web-based School Management Software for Indian schools to assist their management in performing day to day working such as administration, registration, admission, exam schedule, fees deposition, student academic records and other details."}]}]}},"skills":["HTML5","CSS3","Javascript","Typescript","ES6","ReactJS","AngularJS","Sencha - ExtJS","GraphQL","Webpack","NodeJS","Loopback, Express","MongoDB","Gitlab","Google Cloud Platform (GCP - Core infrastructure)","Jenkins","Sonar","Docker","Kubernetes","C#.NET","Crystal Reports"],"certificates":[]}')},,,,,,function(e,a,n){e.exports=n(27)},,,,,function(e,a,n){},,,,,,,,,function(e,a,n){},function(e,a,n){},function(e,a,n){},function(e,a,n){},function(e,a,n){},function(e,a,n){},function(e,a,n){"use strict";n.r(a);var t=n(0),i=n.n(t),r=n(4),o=n.n(r),s=(n(12),n(6)),c=n(5),l=(n(21),function(e){return t.createElement("section",{className:"tile tile-timeline"},e.title?t.createElement("h3",{className:"tile-title"},e.title):null,t.createElement("div",{className:"tile-content"},e.timelines.map((function(e,a){return[t.createElement("div",{className:0===a?"tile-card card-01":"tile-card card-02",key:"tile-card-".concat(e.year)},t.createElement("div",{className:"empty-container"}),t.createElement("h3",{className:"card-header"},e.year),e.designation?t.createElement("h4",null,e.designation):null,e.projects.map((function(e){return t.createElement("div",{className:"card-project",key:"card-project-".concat(e.name)},t.createElement("p",null,e.name),t.createElement("i",null,e.techStack),t.createElement("div",{dangerouslySetInnerHTML:{__html:e.description}}))})))]}))))}),m=(n(22),function(e){var a=e.name,n=e.designation,i=e.company,r=e.aboutMe,o=e.emailAddress,s=e.mobileNumber,c=e.avatarUrl,l=e.location;return t.createElement("section",{className:"tile tile-profile"},t.createElement("img",{className:"avatar",alt:a,title:a,src:c}),t.createElement("h1",null,a),t.createElement("i",null,n," | ",i),t.createElement("h4",{dangerouslySetInnerHTML:{__html:r}}),t.createElement("p",null,t.createElement("a",{href:"mailto:".concat(o)},o)),t.createElement("p",null,t.createElement("a",{href:"tel:".concat(s)},s)),t.createElement("p",null,l),t.createElement("div",{className:"site-links"},t.createElement("a",{rel:"noopener noreferrer",href:"https://github.com/gsaini",target:"_blank"},t.createElement("i",{className:"fab fa-github"})),t.createElement("a",{rel:"noopener noreferrer",href:"https://twitter.com/saini_gopal",target:"_blank"},t.createElement("i",{className:"fab fa-twitter-square"})),t.createElement("a",{rel:"noopener noreferrer",href:"https://www.linkedin.com/in/gsaini01/",target:"_blank"},t.createElement("i",{className:"fab fa-linkedin"})),t.createElement("a",{rel:"noopener noreferrer",href:"https://www.facebook.com/gops.saini",target:"_blank"},t.createElement("i",{className:"fab fa-facebook"})),t.createElement("a",{rel:"noopener noreferrer",href:"https://www.instagram.com/gsaini__/",target:"_blank"},t.createElement("i",{className:"fab fa-instagram"}))))}),d=(n(23),function(e){var a=e.skills;return t.createElement("section",{className:"tile tile-skills"},t.createElement("h3",null,"Skills & Expertise"),t.createElement("div",{className:"tags"},a.map((function(e,a){return t.createElement("div",{key:"skill-".concat(a)},e)}))))}),u=(n(24),function(e){var a=e.educations;return t.createElement("section",{className:"tile tile-education"},t.createElement("div",{className:"tile-content"},a.map((function(e){var a=e.iconCls,n=e.year,i=e.institute,r=e.stream;return t.createElement("div",{className:"tile-card",key:"tile-card-".concat(n,"-").concat(r)},t.createElement("i",{className:a}),t.createElement("div",{className:"card-education"},t.createElement("h3",null,i),t.createElement("p",null,r),t.createElement("p",null,n)))}))))}),p=(n(25),function(){var e=new Date;return t.createElement("section",{className:"tile tile-footer"},t.createElement("div",null,"Copyright \xa9 2009 - ",e.getFullYear(),", All rights reserved."))}),h=n(1),g=(n(26),function(){var e=h.title,a=h.company,n=h.designation,t=h.name,r=h.aboutMe,o=h.emailAddress,g=h.mobileNumber,f=h.avatarUrl,S=h.location,b=h.tiles,k=h.educations,E=h.skills,y={name:t,company:a,designation:n,aboutMe:r,emailAddress:o,mobileNumber:g,avatarUrl:f,location:S};return i.a.createElement("div",{className:"app-container"},i.a.createElement(c.Helmet,null,i.a.createElement("meta",{name:"description",content:e}),i.a.createElement("link",{rel:"icon",href:f}),i.a.createElement("title",null,e)),i.a.createElement(m,y),Object.entries(b).map((function(e){var a=Object(s.a)(e,2),n=a[0],t=a[1];return i.a.createElement(l,Object.assign({key:"tile-".concat(n)},t))})),i.a.createElement(d,{skills:E}),i.a.createElement(u,{educations:k}),i.a.createElement(p,null))});Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));o.a.render(i.a.createElement(g,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))}],[[7,1,2]]]); -//# sourceMappingURL=main.c5ddfbce.chunk.js.map \ No newline at end of file +(this["webpackJsonpgsaini.github.io"]=this["webpackJsonpgsaini.github.io"]||[]).push([[0],[,function(e){e.exports=JSON.parse('{"name":"Gopal Saini","designation":"Architect/Specialist Experience Technology","company":"Publicis Sapient","title":"Welcome to Gopal Saini\'s Homepage!","aboutMe":"Full stack engineer with 11+ years experience in information technology, specialising in the design of application architectures and creafting of user experience.","mobileNumber":"+1 551 200 4845","emailAddress":"gopal.saini.work@gmail.com","location":"New York City (NYC), USA","avatarUrl":"https://avatars1.githubusercontent.com/u/1699577?s=400&u=96a4a04aaf87f52fcb51b729df9d80ef11be9537&v=4","educations":[{"iconCls":"fas fa-university","year":"2005-2009","institute":"Sobhasaria Engineering College, Sikar (Rajasthan)","stream":"Computer Science & Engineering"},{"iconCls":"fas fa-school","year":"1991-2005","institute":"Shekhawati Sr. Secondary School, Losal (Sikar)","stream":"High Secondary, PCM"}],"tiles":{"1":{"title":"Career Timeline","bgColor":"#F7AF1F","timelines":[{"year":2020,"designation":"(Aug 2019 - Present) | Architect Experience Technology, Publicis Sapient (NYC, USA)","projects":[{"name":"Goldman Sachs | DAS - Digital Advisor Solution","techStack":"HTML5, CSS3, ES6, Typescript, ReactJS, Apollo GraphQL, Webpack, NodeJS, AngularJS, Storybook, Testing-Library","description":"The Goldman Sachs Group, Inc., is an American multinational investment bank and financial services company headquartered in New York City. It offers services in investment management, securities, asset management, prime brokerage, and securities underwriting."}]},{"year":2019,"designation":"(Aug 2018 - June 2019) | Architect Experience Technology, Publicis Sapient (London)","projects":[{"name":"Llloyds Banking Group | MIP - Machine Intelligence Program","techStack":"HTML5, CSS3, ES6, NodeJS, DevOps - Docker, Kubernetes, Jenkins Declartive Pipelines, Sonarqube, Google Cloud Platform - App Engine, Compute Engine, GKE, Cloud Run.","description":"Lloyds Bank is the largest retail bank in Britain and has an extensive network of branches and ATM in England and Wales (as well as an arrangement for its customers to be serviced by Bank of Scotland branches in Scotland, Halifax branches in Northern Ireland and vice versa) and offers 24-hour telephone and online banking services.

Machine intelligence programme is growing bank\'s data and artificial intelligence capabilities. We developed advanced propositions, generated and applied insights that allowed bank to help their customers and colleagues."}]}]},"2":{"title":"","bgColor":"#4CB9AF","timelines":[{"year":2018,"designation":"Senior Associate, Publicis Sapient (London)","projects":[{"name":"(March 2017 - Aug 2018) | Lloyds Banking Group - Open Banking","techStack":"HTML5, CSS3, ES6, ReactJS, Webpack, NodeJS - Loopback","description":"Lloyds Bank is the largest retail bank in Britain and has an extensive network of branches and ATM in England and Wales (as well as an arrangement for its customers to be serviced by Bank of Scotland branches in Scotland, Halifax branches in Northern Ireland and vice versa) and offers 24-hour telephone and online banking services.

Open Banking is a change to UK regulation which gives you more control over your data and helps you bank the way you want to."}]},{"year":2016,"designation":"Senior Associate, Publicis Sapient (London)","projects":[{"name":"(June 2016 - March 2017) | Lloyds Banking Group - Shared Component","techStack":"HTML5, CSS3, ES6, ReactJS, Webpack, NodeJS - Loopback","description":"Lloyds Bank is the largest retail bank in Britain and has an extensive network of branches and ATM in England and Wales (as well as an arrangement for its customers to be serviced by Bank of Scotland branches in Scotland, Halifax branches in Northern Ireland and vice versa) and offers 24-hour telephone and online banking services. As of 2012 it has 16 million personal customers and small business accounts.

Shared component created a communication between Colleague & Customer to create & get the invite to open their account online. By Using Shared Component, Colleague will create an invite for their customers to open the accounts online & customers will get the invite from colleague & know what all documents need to upload to open his/her account in the bank."}]}]},"5":{"title":"","bgColor":"#71ca98","timelines":[{"year":2014,"designation":"Associate, Sapient (Gurugram)","projects":[{"name":"(Dec 2013 - June 2016) | Jato - Speedwing","techStack":"HTML5, CSS3, AngularJS, JAVA","description":"The Speedwing solution supported many more of the OEMs processes through the OEM Vehicle. The Speedwing solution designed to support JATO\u2019s Customers\u2019 business needs rather than delivering specific functionality or data.

Speedwing is a fully customizable solution with the ability to mirror OEM internal systems. It is therefore familiar and intuitive, easier to understand and combines both JATO and their content. At the heart of the solution is a high-performing database that combines Specifications, Prices, Options, Source Volumes, Volumes and Incentives into a single data model and is capable of being updated continuously or within a User-Defined schedule, with JATO data. Furthermore, Speedwing integrates seamlessly with new data, Customer data and Third party data."}]},{"year":2013,"designation":"Associate, Sapient (Gurugram)","projects":[{"name":"(June 2013 \u2013 Dec 2013) | Tiffany (DAM \u2013 Design & Implementation)","techStack":"HTML5, CSS3, jQuery, RequireJS, Templates \u2013 mustache, JAVA.","description":"DAM is an online portal to create, manage assets, brand center, Kits & campaigns for Tiffany & Co. administration."},{"name":"(March 2013 \u2013 June 2013) | NHSBT","techStack":"HTML5, CSS3, JQuery, PhoneGap","description":"NHSBT is an online portal to register, search & book schedule for donation blood processes in UK. "}]}]},"6":{"title":"","bgColor":"#52367c","timelines":[{"year":2012,"designation":"Software Consultant, Radicle Inc. (Gurugram)","projects":[{"name":"(March 2012 - Feb 2013) | BenchPrep","techStack":"Extjs-4, NodeJS, socket.io","description":"BenchPrep offers the industry\u2019s first comprehensive learner success platform to help learners attain academic and professional success. Organizations that administer certification, credentialing, test prep, and continuing education programs utilize BenchPrep\'s best-in-class enterprise SaaS platform to improve engagement rates and outcomes."}]},{"year":2009,"designation":"Application Developer, PSS Ajmer (Rajasthan)","projects":[{"name":"(Aug 2009 - March 2012) | iGurukul","techStack":".Net 4.0 using ASP.NET C#, Extjs-4, Json, Restful WCF Services, Crystal Report 2008, Ajax, XML, jQuery, CSS3, OpenXML, SCSS and MS SQL 2008","description":"iGurukul is a comprehensive web-based School Management Software for Indian schools to assist their management in performing day to day working such as administration, registration, admission, exam schedule, fees deposition, student academic records and other details."}]}]}},"skills":["HTML5","CSS3","Javascript","Typescript","ES6","ReactJS","AngularJS","Sencha - ExtJS","GraphQL","Webpack","NodeJS","Loopback, Express","MongoDB","Gitlab","Google Cloud Platform (GCP - Core infrastructure)","Jenkins","Sonar","Docker","Kubernetes","C#.NET","Crystal Reports"],"certificates":[]}')},,,,,,function(e,a,n){e.exports=n(27)},,,,,function(e,a,n){},,,,,,,,,function(e,a,n){},function(e,a,n){},function(e,a,n){},function(e,a,n){},function(e,a,n){},function(e,a,n){},function(e,a,n){"use strict";n.r(a);var t=n(0),i=n.n(t),r=n(4),o=n.n(r),s=(n(12),n(6)),c=n(5),l=(n(21),function(e){return t.createElement("section",{className:"tile tile-timeline"},e.title?t.createElement("h3",{className:"tile-title"},e.title):null,t.createElement("div",{className:"tile-content"},e.timelines.map((function(e,a){return[t.createElement("div",{className:0===a?"tile-card card-01":"tile-card card-02",key:"tile-card-".concat(e.year)},t.createElement("div",{className:"empty-container"}),t.createElement("h3",{className:"card-header"},e.year),e.designation?t.createElement("h4",null,e.designation):null,e.projects.map((function(e){return t.createElement("div",{className:"card-project",key:"card-project-".concat(e.name)},t.createElement("p",null,e.name),t.createElement("i",null,e.techStack),t.createElement("div",{dangerouslySetInnerHTML:{__html:e.description}}))})))]}))))}),m=(n(22),function(e){var a=e.name,n=e.designation,i=e.company,r=e.aboutMe,o=e.emailAddress,s=e.mobileNumber,c=e.avatarUrl,l=e.location;return t.createElement("section",{className:"tile tile-profile"},t.createElement("img",{className:"avatar",alt:a,title:a,src:c}),t.createElement("h1",null,a),t.createElement("i",null,n," | ",i),t.createElement("h4",{dangerouslySetInnerHTML:{__html:r}}),t.createElement("p",null,t.createElement("a",{href:"mailto:".concat(o)},o)),t.createElement("p",null,t.createElement("a",{href:"tel:".concat(s)},s)),t.createElement("p",null,l),t.createElement("div",{className:"site-links"},t.createElement("a",{rel:"noopener noreferrer",href:"https://github.com/gsaini",target:"_blank"},t.createElement("i",{className:"fab fa-github"})),t.createElement("a",{rel:"noopener noreferrer",href:"https://twitter.com/saini_gopal",target:"_blank"},t.createElement("i",{className:"fab fa-twitter-square"})),t.createElement("a",{rel:"noopener noreferrer",href:"https://www.linkedin.com/in/gsaini01/",target:"_blank"},t.createElement("i",{className:"fab fa-linkedin"})),t.createElement("a",{rel:"noopener noreferrer",href:"https://www.facebook.com/gops.saini",target:"_blank"},t.createElement("i",{className:"fab fa-facebook"})),t.createElement("a",{rel:"noopener noreferrer",href:"https://www.instagram.com/gsaini__/",target:"_blank"},t.createElement("i",{className:"fab fa-instagram"}))))}),d=(n(23),function(e){var a=e.skills;return t.createElement("section",{className:"tile tile-skills"},t.createElement("h3",null,"Skills & Expertise"),t.createElement("div",{className:"tags"},a.map((function(e,a){return t.createElement("div",{key:"skill-".concat(a)},e)}))))}),u=(n(24),function(e){var a=e.educations;return t.createElement("section",{className:"tile tile-education"},t.createElement("div",{className:"tile-content"},a.map((function(e){var a=e.iconCls,n=e.year,i=e.institute,r=e.stream;return t.createElement("div",{className:"tile-card",key:"tile-card-".concat(n,"-").concat(r)},t.createElement("i",{className:a}),t.createElement("div",{className:"card-education"},t.createElement("h3",null,i),t.createElement("p",null,r),t.createElement("p",null,n)))}))))}),p=(n(25),function(){var e=new Date;return t.createElement("section",{className:"tile tile-footer"},t.createElement("div",null,"Copyright \xa9 2009 - ",e.getFullYear(),", All rights reserved."))}),h=n(1),g=(n(26),function(){var e=h.title,a=h.company,n=h.designation,t=h.name,r=h.aboutMe,o=h.emailAddress,g=h.mobileNumber,f=h.avatarUrl,S=h.location,b=h.tiles,k=h.educations,E=h.skills,y={name:t,company:a,designation:n,aboutMe:r,emailAddress:o,mobileNumber:g,avatarUrl:f,location:S};return i.a.createElement("div",{className:"app-container"},i.a.createElement(c.Helmet,null,i.a.createElement("meta",{name:"description",content:e}),i.a.createElement("link",{rel:"icon",href:f}),i.a.createElement("title",null,e)),i.a.createElement(m,y),Object.entries(b).map((function(e){var a=Object(s.a)(e,2),n=a[0],t=a[1];return i.a.createElement(l,Object.assign({key:"tile-".concat(n)},t))})),i.a.createElement(d,{skills:E}),i.a.createElement(u,{educations:k}),i.a.createElement(p,null))});Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));o.a.render(i.a.createElement(g,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))}],[[7,1,2]]]); +//# sourceMappingURL=main.593aef7d.chunk.js.map \ No newline at end of file diff --git a/static/js/main.c5ddfbce.chunk.js.map b/static/js/main.593aef7d.chunk.js.map similarity index 99% rename from static/js/main.c5ddfbce.chunk.js.map rename to static/js/main.593aef7d.chunk.js.map index 4729279..125d8b3 100644 --- a/static/js/main.c5ddfbce.chunk.js.map +++ b/static/js/main.593aef7d.chunk.js.map @@ -1 +1 @@ -{"version":3,"sources":["Components/Timeline/index.ts","Components/Timeline/Timeline.tsx","Components/Profile/index.ts","Components/Profile/Profile.tsx","Components/Skills/index.ts","Components/Skills/Skills.tsx","Components/Education/index.ts","Components/Education/Education.tsx","Components/Footer/index.ts","Components/Footer/Footer.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["Timeline","tile","className","title","timelines","map","timeline","idx","key","year","designation","projects","project","name","techStack","dangerouslySetInnerHTML","__html","description","Profile","company","aboutMe","emailAddress","mobileNumber","avatarUrl","location","alt","src","href","rel","target","Skills","skills","skill","Education","educations","iconCls","institute","stream","Footer","date","Date","getFullYear","App","PROFILE","tiles","profileDetails","Helmet","content","Object","entries","Boolean","window","hostname","match","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister"],"mappings":"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","file":"static/js/main.c5ddfbce.chunk.js","sourcesContent":["import { Timeline } from \"./Timeline\";\n\nexport default Timeline;\n","import * as React from \"react\";\nimport \"./_Timeline.scss\";\n\ninterface IProps {\n title: string\n bgColor: string\n timelines: Array<{ year: number; designation: string, projects: Array<{ name: string, techStack: string, description: string }> }>;\n}\n\nexport const Timeline: React.FC = tile => {\n // var randomColor = Math.floor(Math.random()*16777215).toString(16); // style={{ backgroundColor: `#${randomColor}` }}\n\n return (\n
\n {tile.title ?

{tile.title}

: null}\n
\n {tile.timelines.map((timeline: any, idx: number) => {\n return [\n
\n
\n

{timeline.year}

\n {timeline.designation ?

{timeline.designation}

: null}\n {\n timeline.projects.map((project: any) => {\n return (
\n

{project.name}

\n {project.techStack}\n
\n
)\n })\n }\n
\n ];\n })}\n
\n
\n );\n};\n","import { Profile } from \"./Profile\";\n\nexport default Profile;\n","import * as React from 'react'\nimport './_Profile.scss'\n\ninterface IProps {\n name: string\n company: string\n designation: string\n aboutMe: string\n avatarUrl: string\n emailAddress: string\n mobileNumber: string\n location: string\n}\n\nexport const Profile: React.FC = ({ name, designation, company, aboutMe, emailAddress, mobileNumber, avatarUrl, location }) => {\n return (\n
\n {name}\n

{name}

\n {designation} | {company}\n

\n

{emailAddress}

\n

{mobileNumber}

\n

{location}

\n
\n \n \n \n \n \n
\n
\n );\n};\n","import { Skills } from \"./Skills\";\n\nexport default Skills;","import * as React from 'react';\nimport './_Skills.scss';\n\ninterface IProps {\n skills: Array\n}\n\nexport const Skills: React.FC = ({ skills }) => {\n return (\n
\n

Skills & Expertise

\n
\n {\n skills.map((skill, idx) => {\n return
{skill}
\n })\n }\n
\n
\n );\n};\n","import { Education } from \"./Education\";\n\nexport default Education;\n","import * as React from 'react'\nimport './_Education.scss'\n\ninterface EducationState {\n iconCls: string\n year: string\n institute: string\n stream: string\n}\n\ninterface IProps {\n educations: Array\n}\n\nexport const Education: React.FC = ({ educations }) => {\n return (\n
\n
\n {\n educations.map(({ iconCls, year, institute, stream }) => {\n return (\n
\n \n
\n

{institute}

\n

{stream}

\n

{year}

\n
\n
\n )\n })\n }\n
\n
\n );\n};\n","import { Footer } from \"./Footer\";\n\nexport default Footer;\n","import * as React from 'react'\nimport './_Footer.scss';\n\nexport const Footer: React.FC = () => {\n const date = new Date();\n return (\n
\n
\n Copyright © 2009 - { date.getFullYear() }, All rights reserved.\n
\n
\n );\n};\n","import React from 'react';\nimport { Helmet } from 'react-helmet';\nimport Timeline from './Components/Timeline';\nimport Profile from './Components/Profile';\nimport Skills from './Components/Skills';\nimport Education from './Components/Education';\nimport Footer from './Components/Footer';\nimport PROFILE from './data/profile.json'\nimport \"./styles/app.scss\";\n\nconst App = () => {\n const { title, company, designation, name, aboutMe, emailAddress, mobileNumber, avatarUrl, location, tiles, educations, skills } = PROFILE;\n const profileDetails = { name, company, designation, aboutMe, emailAddress, mobileNumber, avatarUrl, location };\n\n return (\n
\n \n \n \n {title}\n \n \n {\n Object.entries(tiles).map(([key, tiles]) => )\n }\n \n \n
\n
\n\n );\n};\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n process.env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './styles/index.scss';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["Components/Timeline/index.ts","Components/Timeline/Timeline.tsx","Components/Profile/index.ts","Components/Profile/Profile.tsx","Components/Skills/index.ts","Components/Skills/Skills.tsx","Components/Education/index.ts","Components/Education/Education.tsx","Components/Footer/index.ts","Components/Footer/Footer.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["Timeline","tile","className","title","timelines","map","timeline","idx","key","year","designation","projects","project","name","techStack","dangerouslySetInnerHTML","__html","description","Profile","company","aboutMe","emailAddress","mobileNumber","avatarUrl","location","alt","src","href","rel","target","Skills","skills","skill","Education","educations","iconCls","institute","stream","Footer","date","Date","getFullYear","App","PROFILE","tiles","profileDetails","Helmet","content","Object","entries","Boolean","window","hostname","match","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister"],"mappings":"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","file":"static/js/main.593aef7d.chunk.js","sourcesContent":["import { Timeline } from \"./Timeline\";\n\nexport default Timeline;\n","import * as React from \"react\";\nimport \"./_Timeline.scss\";\n\ninterface IProps {\n title: string\n bgColor: string\n timelines: Array<{ year: number; designation: string, projects: Array<{ name: string, techStack: string, description: string }> }>;\n}\n\nexport const Timeline: React.FC = tile => {\n // var randomColor = Math.floor(Math.random()*16777215).toString(16); // style={{ backgroundColor: `#${randomColor}` }}\n\n return (\n
\n {tile.title ?

{tile.title}

: null}\n
\n {tile.timelines.map((timeline: any, idx: number) => {\n return [\n
\n
\n

{timeline.year}

\n {timeline.designation ?

{timeline.designation}

: null}\n {\n timeline.projects.map((project: any) => {\n return (
\n

{project.name}

\n {project.techStack}\n
\n
)\n })\n }\n
\n ];\n })}\n
\n
\n );\n};\n","import { Profile } from \"./Profile\";\n\nexport default Profile;\n","import * as React from 'react'\nimport './_Profile.scss'\n\ninterface IProps {\n name: string\n company: string\n designation: string\n aboutMe: string\n avatarUrl: string\n emailAddress: string\n mobileNumber: string\n location: string\n}\n\nexport const Profile: React.FC = ({ name, designation, company, aboutMe, emailAddress, mobileNumber, avatarUrl, location }) => {\n return (\n
\n {name}\n

{name}

\n {designation} | {company}\n

\n

{emailAddress}

\n

{mobileNumber}

\n

{location}

\n
\n \n \n \n \n \n
\n
\n );\n};\n","import { Skills } from \"./Skills\";\n\nexport default Skills;","import * as React from 'react';\nimport './_Skills.scss';\n\ninterface IProps {\n skills: Array\n}\n\nexport const Skills: React.FC = ({ skills }) => {\n return (\n
\n

Skills & Expertise

\n
\n {\n skills.map((skill, idx) => {\n return
{skill}
\n })\n }\n
\n
\n );\n};\n","import { Education } from \"./Education\";\n\nexport default Education;\n","import * as React from 'react'\nimport './_Education.scss'\n\ninterface EducationState {\n iconCls: string\n year: string\n institute: string\n stream: string\n}\n\ninterface IProps {\n educations: Array\n}\n\nexport const Education: React.FC = ({ educations }) => {\n return (\n
\n
\n {\n educations.map(({ iconCls, year, institute, stream }) => {\n return (\n
\n \n
\n

{institute}

\n

{stream}

\n

{year}

\n
\n
\n )\n })\n }\n
\n
\n );\n};\n","import { Footer } from \"./Footer\";\n\nexport default Footer;\n","import * as React from 'react'\nimport './_Footer.scss';\n\nexport const Footer: React.FC = () => {\n const date = new Date();\n return (\n
\n
\n Copyright © 2009 - { date.getFullYear() }, All rights reserved.\n
\n
\n );\n};\n","import React from 'react';\nimport { Helmet } from 'react-helmet';\nimport Timeline from './Components/Timeline';\nimport Profile from './Components/Profile';\nimport Skills from './Components/Skills';\nimport Education from './Components/Education';\nimport Footer from './Components/Footer';\nimport PROFILE from './data/profile.json'\nimport \"./styles/app.scss\";\n\nconst App = () => {\n const { title, company, designation, name, aboutMe, emailAddress, mobileNumber, avatarUrl, location, tiles, educations, skills } = PROFILE;\n const profileDetails = { name, company, designation, aboutMe, emailAddress, mobileNumber, avatarUrl, location };\n\n return (\n
\n \n \n \n {title}\n \n \n {\n Object.entries(tiles).map(([key, tiles]) => )\n }\n \n \n
\n
\n\n );\n};\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n process.env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './styles/index.scss';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""} \ No newline at end of file