diff --git a/package-lock.json b/package-lock.json index 53d4e78..890fc76 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10466,6 +10466,11 @@ "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "dev": true }, + "add-subtract-date": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/add-subtract-date/-/add-subtract-date-1.0.15.tgz", + "integrity": "sha512-MiL4wnMyM999meyCrSA3LME9uZ/b5ptSd0ACDVUoTfutFwvkMyIN7nG7gjrU56WEk5RlFLBghabcgdYwY8s+nQ==" + }, "adjust-sourcemap-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", @@ -12076,6 +12081,11 @@ "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", "dev": true }, + "days": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/days/-/days-1.1.1.tgz", + "integrity": "sha512-vzeIwVsEIyA35GH4+mPd4hjVDNI87wYANyZFs0BHjBr5kIBH5zEl7LfD6Wr4SFZca4D3CU9IH1w4DuZLlXzKRw==" + }, "debounce-promise": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/debounce-promise/-/debounce-promise-3.1.2.tgz", @@ -12420,6 +12430,15 @@ "integrity": "sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==", "dev": true }, + "elly": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/elly/-/elly-1.1.11.tgz", + "integrity": "sha512-WFKVcEKEOjdSOhNYFKWQoJDk0Sb0re6v0fIsGkePn97dmPpKM/YoOKRdYIb34T1R13KPRNzDBDmT/Flb/54NXg==", + "requires": { + "iterate-object": "^1.3.2", + "sliced": "^1.0.1" + } + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -12980,6 +12999,11 @@ "to-regex-range": "^5.0.1" } }, + "fillo": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/fillo/-/fillo-1.0.14.tgz", + "integrity": "sha512-XLFFqNMeODV7pEH70lDla0SdOOW2T34X+2VmtCLWC1TyhtTEvX5IddIwBqlZhVb1K8bOOB0EuOM00FMZ+Njmtg==" + }, "finalhandler": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", @@ -13069,6 +13093,17 @@ } } }, + "formatoid": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/formatoid/-/formatoid-1.2.4.tgz", + "integrity": "sha512-9wWHOPJvbIheSpiHGl0xaBwdszlzPaeh2KqHVexGQnKpO85xrMoKvuf6M3q0B4uC3I9lkXjH6+8ipQC8PQ/7Gw==", + "requires": { + "days": "^1.0.1", + "fillo": "^1.0.0", + "months": "^1.0.0", + "parse-it": "^1.0.0" + } + }, "formdata-polyfill": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", @@ -13227,6 +13262,30 @@ "resolve-pkg-maps": "^1.0.0" } }, + "github-calendar": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/github-calendar/-/github-calendar-2.3.2.tgz", + "integrity": "sha512-PZWDI4kcOG2vFCOUzLhUL5xA1Vu4ZF5qJ653CWyr/Q/8yLiTEDjNenhG7djlHoza9u/unnPtrhnHDiNLY9kTlQ==", + "requires": { + "add-subtract-date": "^1.0.15", + "elly": "^1.1.11", + "formatoid": "^1.2.4", + "github-calendar-parser": "^1.2.2" + } + }, + "github-calendar-legend": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/github-calendar-legend/-/github-calendar-legend-1.0.11.tgz", + "integrity": "sha512-V7AkszKw2fMeU+g6W5dQ7vDGzJ3giSaukdOUEdUqhcHhQDVYcQf7c0Q3korbQzJsh+Wh3MqyPtN+ZSAuEnHP2A==" + }, + "github-calendar-parser": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/github-calendar-parser/-/github-calendar-parser-1.2.2.tgz", + "integrity": "sha512-lA47NHVu5lTH0kZf71W+NXhqr3hvsHLwMRqUxTNsopLDQNCQTAgyhzHwi5iJegq2cTTn4p1ZeqmHyt8RbbhPOw==", + "requires": { + "github-calendar-legend": "^1.0.11" + } + }, "glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -14217,6 +14276,11 @@ "istanbul-lib-report": "^3.0.0" } }, + "iterate-object": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/iterate-object/-/iterate-object-1.3.4.tgz", + "integrity": "sha512-4dG1D1x/7g8PwHS9aK6QV5V94+ZvyP4+d19qDv43EzImmrndysIl4prmJ1hWWIGCqrZHyaHBm6BSEWHOLnpoNw==" + }, "jackspeak": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", @@ -15114,6 +15178,11 @@ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true }, + "months": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/months/-/months-1.2.0.tgz", + "integrity": "sha512-zFM7hUpziSYGk2DNObYGWgHdRRxAOgjl8CC1Rbl50p/q0rGDsREfk0nbxxmSIquVi/lEAuUY8nwbwkZ8biNCOQ==" + }, "mrmime": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", @@ -15711,6 +15780,14 @@ "integrity": "sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==", "dev": true }, + "parse-it": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/parse-it/-/parse-it-1.0.10.tgz", + "integrity": "sha512-VAG4EuoNd2TT2wSRUuKyLEkZR3MhdWc+3UPp5CDQzqSt/FiniG+yJ5RXyJYiuzVAMEKL4d97gx6O3LR5jEB3uQ==", + "requires": { + "regex-escape": "^3.4.0" + } + }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -16311,6 +16388,11 @@ "@babel/runtime": "^7.8.4" } }, + "regex-escape": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/regex-escape/-/regex-escape-3.4.10.tgz", + "integrity": "sha512-qEqf7uzW+iYcKNLMDFnMkghhQBnGdivT6KqVQyKsyjSWnoFyooXVnxrw9dtv3AFLnD6VBGXxtZGAQNFGFTnCqA==" + }, "regex-parser": { "version": "2.2.11", "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", @@ -17038,6 +17120,11 @@ "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", "dev": true }, + "sliced": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", + "integrity": "sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA==" + }, "smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 1f7c12a..4d5a95b 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -7,6 +7,7 @@ import {PortfolioPage} from "./pages/portfolio/portfolio.page"; import {ContactMePage} from "./pages/contact-me/contact-me.page"; import {PageComponent} from "./page/page.component"; import {LikeDislikePage} from "./pages/like-dislike/like-dislike.page"; +import {DisclaimerComponent as PortfolioDisclaimerComponent} from "./pages/portfolio/disclaimer/disclaimer.component"; export const routes: Routes = [ { @@ -23,7 +24,17 @@ export const routes: Routes = [ }, { path : 'portfolio', - component: PortfolioPage, + component: PageComponent, + children: [ + { + path: '', + component: PortfolioPage, + }, + { + path: 'disclaimer', + component: PortfolioDisclaimerComponent, + } + ] }, { path: 'projects', diff --git a/src/app/card-cta/card-cta.component.html b/src/app/card-cta/card-cta.component.html index 7373920..6703249 100644 --- a/src/app/card-cta/card-cta.component.html +++ b/src/app/card-cta/card-cta.component.html @@ -1,4 +1,4 @@ -
+
diff --git a/src/app/card-cta/card-cta.component.ts b/src/app/card-cta/card-cta.component.ts index 75ba58e..b31e7f8 100644 --- a/src/app/card-cta/card-cta.component.ts +++ b/src/app/card-cta/card-cta.component.ts @@ -14,4 +14,5 @@ export class CardCtaComponent { @Input() color: 'light' | 'dark' = 'light'; @Input() ctaUrl: string = ''; + @Input() borderRounded: boolean = true; } diff --git a/src/app/fish/fish.component.scss b/src/app/fish/fish.component.scss index 92305fc..f0902be 100644 --- a/src/app/fish/fish.component.scss +++ b/src/app/fish/fish.component.scss @@ -23,6 +23,7 @@ svg.fish{ width: 235px; height: 104px; left: -235px; + margin-top: 8rem; position: absolute; animation: swim 20s; -webkit-animation: swim 20s; diff --git a/src/app/footer/footer.component.html b/src/app/footer/footer.component.html index 4f7bdf4..d9e55b9 100644 --- a/src/app/footer/footer.component.html +++ b/src/app/footer/footer.component.html @@ -1,30 +1,32 @@ -
+
- Talk is cheap - Interested in working together?
We should queue up a time to chat.
I’ll buy the coffee :) + Interested in working together?
We should schedule a time to chat.
I’ll bring the tea :)
Let's Talk!
-
-
Made with Angular - - +
diff --git a/src/app/highlight/highlight.component.html b/src/app/highlight/highlight.component.html index d3bd212..abedd3d 100644 --- a/src/app/highlight/highlight.component.html +++ b/src/app/highlight/highlight.component.html @@ -5,7 +5,7 @@
- View all posts + View all posts

No posts yet.

diff --git a/src/app/menu/menu.component.html b/src/app/menu/menu.component.html index 9628636..1697aed 100644 --- a/src/app/menu/menu.component.html +++ b/src/app/menu/menu.component.html @@ -8,25 +8,25 @@ Bio - + Portfolio Projects - +
+ [url]="'mailto:thisloke@gmail.com'"> Say Hello
diff --git a/src/app/models/job.ts b/src/app/models/job.ts new file mode 100644 index 0000000..4e1302e --- /dev/null +++ b/src/app/models/job.ts @@ -0,0 +1,7 @@ +export interface Job { + website: string | undefined + image: string | undefined; + description: string; + role: string; + name: string; +} diff --git a/src/app/models/work.ts b/src/app/models/work.ts deleted file mode 100644 index e9c7729..0000000 --- a/src/app/models/work.ts +++ /dev/null @@ -1,11 +0,0 @@ -export interface Work { - website: string; - image: string; - description: string; - name: string; - content: string; - date: { - start: Date; - end: Date; - }; -} diff --git a/src/app/pages/biography/biography.page.html b/src/app/pages/biography/biography.page.html index 19dc003..65f0062 100644 --- a/src/app/pages/biography/biography.page.html +++ b/src/app/pages/biography/biography.page.html @@ -1,166 +1,163 @@ -
-
-

Hello world!

-

- Greetings! I'm Lorenzo Iovino, and i hope that i would be something more that only a "Software Engineer" (that's my job and one of my passions)
- I'm embarking on an exhilarating journey that began back in December 1988 and continues to evolve with each passing day. -
- Join me on this riveting expedition where technology meets creativity, thoughts are shared, and passions are pursued. That's my life. -

+
+

Hello world!

+

+ Greetings! I'm Lorenzo Iovino, and i hope that i would be something more that only a "Software Engineer" (that's my job and one of my passions)
+ I'm embarking on an exhilarating journey that began back in December 1988 and continues to evolve with each passing day. +
+ Join me on this riveting expedition where technology meets creativity, thoughts are shared, and passions are pursued. That's my life. +

+
+ +
+

Childhood Nostalgia πŸ§’

+
+ + My love affair with technology sparked at the tender age of four when I delved into the realms of Prince of Persia on the Apple II. +
+ Super young software developer with an Apple II + Super young software developer with an Apple II
- -
-

Childhood Nostalgia πŸ§’

-
- - My love affair with technology sparked at the tender age of four when I delved into the realms of Prince of Persia on the Apple II. -
- Super young software developer with an Apple II - Super young software developer with an Apple II -
- Fast forward to the present, and computers have seamlessly woven into the fabric of my professional life, while everything IT-related has become the heartbeat of my passion.
- Rewind to my childhood in Ispica, where I initially balanced my time between studying, playing video games, and kicking a football around with friends, it was a simple life, but it was a happy one.
- The town of Ispica is located in the south of sicily, and it's a place where time seems to stand still. The unhurried pace of life, the warmth of the people, and the breathtaking landscapes create a serene backdrop for my childhood memories. But it was something that i really hated when i was child, infact i was always dreaming to live in a big city, where i could find more opportunities.



-
- Pokemon Yellow - Pokemon Yellow and Game Boy Advance -
- The gaming sessions with friends extended to the world of Pokemon and Nintendo consoles, a phase that not only provided joy but also unraveled the mysteries of computer programming.
- At the age of 15, the discovery of rock music sparked a new passion, and I eagerly picked up a guitar to learn its rhythmic language and stunning solos. -
-
- Guitarist - My dream guitar "Fender stratocaster" -
- The gaming and music universe made me a "nerd," leading to my fascination with understanding the intricacies of computers, programming languages, and the magic beneath the hood.
- At 17, I ventured into the realm of Magic: The Gathering, further enriching my interests. To this day, I continue to enjoy occasional matches in my spare time. -
+ Fast forward to the present, and computers have seamlessly woven into the fabric of my professional life, while everything IT-related has become the heartbeat of my passion.
+ Rewind to my childhood in Ispica, where I initially balanced my time between studying, playing video games, and kicking a football around with friends, it was a simple life, but it was a happy one.
+ The town of Ispica is located in the south of sicily, and it's a place where time seems to stand still. The unhurried pace of life, the warmth of the people, and the breathtaking landscapes create a serene backdrop for my childhood memories. But it was something that i really hated when i was child, infact i was always dreaming to live in a big city, where i could find more opportunities.



+
+ Pokemon Yellow + Pokemon Yellow and Game Boy Advance
- -
-

University and Personal Growth 🏫

-
- Educationally, I've left no stone unturned.
- I've immersed myself in the intricacies of computer science attending the Computer Science course at the University of Pisa, devouring books (not exactly the suggested ones for the class), retry -
- Me in Pisa - Me burning out studying Computability and
Complexity exam
-
- N-times the same exam and engaging in online courses and workshops in order to understand better what it's exactly computer science - (and i've still have a lot of doubdts regarding Computability and Complexity topic) - -
-
- It's this insatiable appetite for knowledge and networking that fuels my perpetual quest for growth and it did it never surrender despite my long journey as a student (i took just 12 years to get my Bachelor of Arts).

- Anyway, embarking on the journey that led me to the picturesque city of Pisa was not merely a pursuit of knowledge in computer science (the University of Pisa, with its rich history and academic excellence, provided the perfect backdrop for me to immerse myself in this world of endless possibilities); it was a harmonious convergence of two profound needs: computer science and the curiosity about the world (the non-digital one). -
- My goliardo - My student hat (that's not an hat) "goliardo" -
-

- During my university years, I not only delved into the world of computer science but also embraced the richness of life's experiences; I spent considerable time getting to know people, immersing myself in the Goliardia culture, honing my taste buds through a wine Sommelier course, attending concert and meet all kind of people in music club borderline (that one I really loved to do), unlimited speech with perfect stranger during my "Aperitivo" around the city, sharing experience and learning everyday something new.
This period of exploration ignited a passion for travel, opening my eyes to diverse cultures and expanding my horizons. -
+ The gaming sessions with friends extended to the world of Pokemon and Nintendo consoles, a phase that not only provided joy but also unraveled the mysteries of computer programming.
+ At the age of 15, the discovery of rock music sparked a new passion, and I eagerly picked up a guitar to learn its rhythmic language and stunning solos. +
+
+ Guitarist + My dream guitar "Fender stratocaster"
+ The gaming and music universe made me a "nerd," leading to my fascination with understanding the intricacies of computers, programming languages, and the magic beneath the hood.
+ At 17, I ventured into the realm of Magic: The Gathering, further enriching my interests. To this day, I continue to enjoy occasional matches in my spare time. +
+
-
-

Embarking on Hackathon Adventures πŸš€

-
-
- Me with moverio smart glasses - Me wearing moverio smart glasses -
- My journey into the world of hackathons began with one organized by
Vargroup.
- The whole team was completly created there, nobody of us will know each other, but we all have shared a passion for technology, and together, - we crafted a Proof of Concept software and a business plan (in 24 hours) for a revolutionary retail application focused on furniture sales.
- The application, designed for Epson Moverio Smartglass, allowed customers to virtually furnish their homes, creating a unique and immersive shopping experience. -

- This inaugural hackathon experience ignited my enthusiasm, leading me to participate in various other hackathons, including Hackaton Toscana for mobility and engaging in many other game jams. Each hackathon presented new challenges, fostering collaboration and pushing the boundaries of my skills.
-
- Me at global game jam presenting our game - Me and the team presenting the game developed.
Gameplay of our game "Oh No My Husband is coming" developed for GGJ 2015: Youtube link
-
-
+
+

University and Personal Growth 🏫

+
+ Educationally, I've left no stone unturned.
+ I've immersed myself in the intricacies of computer science attending the Computer Science course at the University of Pisa, devouring books (not exactly the suggested ones for the class), retry +
+ Me in Pisa + Me burning out studying Computability and
Complexity exam
+ N-times the same exam and engaging in online courses and workshops in order to understand better what it's exactly computer science + (and i've still have a lot of doubdts regarding Computability and Complexity topic) -
-

Erasmus Project in Valencia 🌍

-
- A pivotal chapter in my journey unfolded during my Erasmus project in the vibrant city of Valencia. I continued study Computer Science in the Universidad Politecnica -
- Valencia turia - Beautiful sunny day in Valencia -
- where i also meet a lot of people from all over the world, and i had the opportunity to learn a lot of things about different cultures and languages.

- The IT environment in Valencia was a stark contrast to the Italian landscape, offering a unique perspective on the world of technology, new startups and innovative companies were emerging in that period, and the city was a hotbed of innovation.
- Surrounded by the stunning blend of modern architecture and traditional Spanish charm, this cultural immersion not only enriched my academic pursuits but also offered a canvas for personal growth. -
+
+
+ It's this insatiable appetite for knowledge and networking that fuels my perpetual quest for growth and it did it never surrender despite my long journey as a student (i took just 12 years to get my Bachelor of Arts).

+ Anyway, embarking on the journey that led me to the picturesque city of Pisa was not merely a pursuit of knowledge in computer science (the University of Pisa, with its rich history and academic excellence, provided the perfect backdrop for me to immerse myself in this world of endless possibilities); it was a harmonious convergence of two profound needs: computer science and the curiosity about the world (the non-digital one). +
+ My goliardo + My student hat (that's not an hat) "goliardo"
+

+ During my university years, I not only delved into the world of computer science but also embraced the richness of life's experiences; I spent considerable time getting to know people, immersing myself in the Goliardia culture, honing my taste buds through a wine Sommelier course, attending concert and meet all kind of people in music club borderline (that one I really loved to do), unlimited speech with perfect stranger during my "Aperitivo" around the city, sharing experience and learning everyday something new.
This period of exploration ignited a passion for travel, opening my eyes to diverse cultures and expanding my horizons. +
+
-
-

Embracing the Tranquility of Sicily 🏑

-
- Nestled in the heart of Sicily, my decision to return to my hometown wasn't just a homecoming; it was a deliberate choice to create a life where the pace of time mirrors the gentle ebb and flow of the Mediterranean waves.
-
- Remote working - Working remote watching the sea -
- - Transitioning from the bustling tech hubs to the serene landscapes of Sicily has been a profound and intentional shift. Rediscover the beauty of slowness and the joy of doing "nothing special" every day, and i've found a new balance between my professional and personal life. - When the "nothing special" turn in "something special" and you can enjoy the beauty of the nature that surround you.

- As a remote worker, I've found solace in the unhurried rhythm of life here. The island's charm lies not only in its breathtaking landscapes but also in the unhurried passage of time.
- Sicily has a unique way of making each moment feel like an eternity, a welcome departure from the frenetic pace of urban life.
It's a place where the clock seems to pause, allowing me to savor every nuance of existence.
-
- Dogs watch wineyard - My wineyard -
- Family plays a central role in my Sicilian life, in the pursuit of passions beyond the realms of technology, I embarked on a delightful side project alongside my sister (she's the agronomist). - Together, we decided to make our wine, planting and growing up a wineyard in a waste terrain near the sea, so it birth www.netum.it, that's the culmination of our shared love for winemaking, and with only 1 hectar of wineyard, we produce a limited amount of bottles of a unique wine. -
- Dogs watch wineyard - The wine produced "Zia Lina" -
-

- And then, of course, there's the food. Sicilian cuisine is a symphony of flavors that dance on the taste buds. Each bite is a celebration of the island's rich culinary heritage. The slow food movement isn't just a trend here; it's a way of life.
Dining is an experience, a time to savor and appreciate the artistry that goes into every dish.
- (i will not post any photo of food, because i'm not a food blogger, but trust me, it's really good).

- - In the midst of vineyards and olive groves, my life as a remote worker in Sicily is a testament to the beauty of simplicity. - -
It's a daily reminder that success isn't just measured in code lines but also in the quality of life we cultivate. Sicily, with its unhurried pace, has become more than a backdrop for my career; it's a canvas on which I paint the vibrant tapestry of my life. Here, time may move slowly, but the impact is timeless. 🌿🍷🌞
-
- Modica view - Modica view from my house -
-
+
+

Embarking on Hackathon Adventures πŸš€

+
+
+ Me with moverio smart glasses + Me wearing moverio smart glasses
- -
-

Life at 35

-
- Fast forward to the present day, where I've embraced the roles of a husband to my wonderful wife, Amanda, and a proud father of a little joy named Leonardo.
Life's journey has woven a tapestry of experiences, blending the worlds of technology, family, and personal passions.
- From here i'm starting sharing my experience and my knowledge with the world using this old-fashioned and anachronistic blog, and i'm really excited to see what the future will bring to me. - -
- Me and my wife - Me and my wife Amanda -
-
+ My journey into the world of hackathons began with one organized by Vargroup.
+ The whole team was completly created there, nobody of us will know each other, but we all have shared a passion for technology, and together, + we crafted a Proof of Concept software and a business plan (in 24 hours) for a revolutionary retail application focused on furniture sales.
+ The application, designed for Epson Moverio Smartglass, allowed customers to virtually furnish their homes, creating a unique and immersive shopping experience. +

+ This inaugural hackathon experience ignited my enthusiasm, leading me to participate in various other hackathons, including Hackaton Toscana for mobility and engaging in many other game jams. Each hackathon presented new challenges, fostering collaboration and pushing the boundaries of my skills.
+
+ Me at global game jam presenting our game + Me and the team presenting the game developed.
Gameplay of our game "Oh No My Husband is coming" developed for GGJ 2015: Youtube link
+
+
+

Erasmus Project in Valencia 🌍

+
+ A pivotal chapter in my journey unfolded during my Erasmus project in the vibrant city of Valencia. I continued study Computer Science in the Universidad Politecnica +
+ Valencia turia + Beautiful sunny day in Valencia +
+ where i also meet a lot of people from all over the world, and i had the opportunity to learn a lot of things about different cultures and languages.

+ The IT environment in Valencia was a stark contrast to the Italian landscape, offering a unique perspective on the world of technology, new startups and innovative companies were emerging in that period, and the city was a hotbed of innovation.
+ Surrounded by the stunning blend of modern architecture and traditional Spanish charm, this cultural immersion not only enriched my academic pursuits but also offered a canvas for personal growth. +
+
+ +
+

Embracing the Tranquility of Sicily 🏑

+
+ Nestled in the heart of Sicily, my decision to return to my hometown wasn't just a homecoming; it was a deliberate choice to create a life where the pace of time mirrors the gentle ebb and flow of the Mediterranean waves.
+
+ Remote working + Working remote watching the sea +
+ + Transitioning from the bustling tech hubs to the serene landscapes of Sicily has been a profound and intentional shift. Rediscover the beauty of slowness and the joy of doing "nothing special" every day, and i've found a new balance between my professional and personal life. + When the "nothing special" turn in "something special" and you can enjoy the beauty of the nature that surround you.

+ As a remote worker, I've found solace in the unhurried rhythm of life here. The island's charm lies not only in its breathtaking landscapes but also in the unhurried passage of time.
+ Sicily has a unique way of making each moment feel like an eternity, a welcome departure from the frenetic pace of urban life.
It's a place where the clock seems to pause, allowing me to savor every nuance of existence.
+
+ Dogs watch wineyard + My wineyard +
+ Family plays a central role in my Sicilian life, in the pursuit of passions beyond the realms of technology, I embarked on a delightful side project alongside my sister (she's the agronomist). + Together, we decided to make our wine, planting and growing up a wineyard in a waste terrain near the sea, so it birth www.netum.it, that's the culmination of our shared love for winemaking, and with only 1 hectar of wineyard, we produce a limited amount of bottles of a unique wine. +
+ Dogs watch wineyard + The wine produced "Zia Lina" +
+

+ And then, of course, there's the food. Sicilian cuisine is a symphony of flavors that dance on the taste buds. Each bite is a celebration of the island's rich culinary heritage. The slow food movement isn't just a trend here; it's a way of life.
Dining is an experience, a time to savor and appreciate the artistry that goes into every dish.
+ (i will not post any photo of food, because i'm not a food blogger, but trust me, it's really good).

+ + In the midst of vineyards and olive groves, my life as a remote worker in Sicily is a testament to the beauty of simplicity. + +
It's a daily reminder that success isn't just measured in code lines but also in the quality of life we cultivate. Sicily, with its unhurried pace, has become more than a backdrop for my career; it's a canvas on which I paint the vibrant tapestry of my life. Here, time may move slowly, but the impact is timeless. 🌿🍷🌞
+
+ Modica view + Modica view from my house +
+
+
+ +
+

Life at 35

+
+ Fast forward to the present day, where I've embraced the roles of a husband to my wonderful wife, Amanda, and a proud father of a little joy named Leonardo.
Life's journey has woven a tapestry of experiences, blending the worlds of technology, family, and personal passions.
+ From here i'm starting sharing my experience and my knowledge with the world using this old-fashioned and anachronistic blog, and i'm really excited to see what the future will bring to me. + +
+ Me and my wife + Me and my wife Amanda +
+
+
diff --git a/src/app/pages/home/home.page.html b/src/app/pages/home/home.page.html index 1f82195..c69f1bd 100644 --- a/src/app/pages/home/home.page.html +++ b/src/app/pages/home/home.page.html @@ -2,13 +2,13 @@
- + diff --git a/src/app/pages/portfolio/disclaimer/disclaimer.component.html b/src/app/pages/portfolio/disclaimer/disclaimer.component.html new file mode 100644 index 0000000..a286238 --- /dev/null +++ b/src/app/pages/portfolio/disclaimer/disclaimer.component.html @@ -0,0 +1,13 @@ + + + +
+

⚠️I accept the risk to get a non-complete portfolio experience ⚠️

+ I've no fear! Bring me to Mordor +
+
diff --git a/src/app/portfolio-card/portfolio-card.component.scss b/src/app/pages/portfolio/disclaimer/disclaimer.component.scss similarity index 100% rename from src/app/portfolio-card/portfolio-card.component.scss rename to src/app/pages/portfolio/disclaimer/disclaimer.component.scss diff --git a/src/app/pages/portfolio/disclaimer/disclaimer.component.spec.ts b/src/app/pages/portfolio/disclaimer/disclaimer.component.spec.ts new file mode 100644 index 0000000..17cca29 --- /dev/null +++ b/src/app/pages/portfolio/disclaimer/disclaimer.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DisclaimerComponent } from './disclaimer.component'; + +describe('DisclaimerComponent', () => { + let component: DisclaimerComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [DisclaimerComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(DisclaimerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/portfolio/disclaimer/disclaimer.component.ts b/src/app/pages/portfolio/disclaimer/disclaimer.component.ts new file mode 100644 index 0000000..027ccec --- /dev/null +++ b/src/app/pages/portfolio/disclaimer/disclaimer.component.ts @@ -0,0 +1,17 @@ +import { Component } from '@angular/core'; +import {SectionComponent} from "../../../section/section.component"; +import {NgOptimizedImage} from "@angular/common"; + +@Component({ + selector: 'iov-disclaimer', + standalone: true, + imports: [ + SectionComponent, + NgOptimizedImage + ], + templateUrl: './disclaimer.component.html', + styleUrl: './disclaimer.component.scss' +}) +export class DisclaimerComponent { + +} diff --git a/src/app/pages/portfolio/portfolio-item-card/portfolio-item-card.component.html b/src/app/pages/portfolio/portfolio-item-card/portfolio-item-card.component.html new file mode 100644 index 0000000..6396ab0 --- /dev/null +++ b/src/app/pages/portfolio/portfolio-item-card/portfolio-item-card.component.html @@ -0,0 +1,27 @@ +
+ +
{{job?.name}}
{{job?.role}}
+
+
{{job?.name}}
{{job?.role}}
+
+ + Visit Website + +
+ +
+ diff --git a/src/app/pages/portfolio/portfolio-item-card/portfolio-item-card.component.scss b/src/app/pages/portfolio/portfolio-item-card/portfolio-item-card.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/portfolio-card/portfolio-card.component.spec.ts b/src/app/pages/portfolio/portfolio-item-card/portfolio-item-card.component.spec.ts similarity index 55% rename from src/app/portfolio-card/portfolio-card.component.spec.ts rename to src/app/pages/portfolio/portfolio-item-card/portfolio-item-card.component.spec.ts index 09b4deb..b96c3da 100644 --- a/src/app/portfolio-card/portfolio-card.component.spec.ts +++ b/src/app/pages/portfolio/portfolio-item-card/portfolio-item-card.component.spec.ts @@ -1,18 +1,18 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { PortfolioCardComponent } from './portfolio-card.component'; +import { PortfolioItemCardComponent } from './portfolio-item-card.component'; describe('PortfolioCardComponent', () => { - let component: PortfolioCardComponent; - let fixture: ComponentFixture; + let component: PortfolioItemCardComponent; + let fixture: ComponentFixture; beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [PortfolioCardComponent] + imports: [PortfolioItemCardComponent] }) .compileComponents(); - - fixture = TestBed.createComponent(PortfolioCardComponent); + + fixture = TestBed.createComponent(PortfolioItemCardComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/src/app/pages/portfolio/portfolio-item-card/portfolio-item-card.component.ts b/src/app/pages/portfolio/portfolio-item-card/portfolio-item-card.component.ts new file mode 100644 index 0000000..257690e --- /dev/null +++ b/src/app/pages/portfolio/portfolio-item-card/portfolio-item-card.component.ts @@ -0,0 +1,19 @@ +import {Component, EventEmitter, Input, Output} from '@angular/core'; +import {Job} from "../../../models/job"; +import {NgIf, NgOptimizedImage} from "@angular/common"; + +@Component({ + selector: 'iov-portfolio-item-card', + standalone: true, + imports: [ + NgOptimizedImage, + NgIf + ], + templateUrl: './portfolio-item-card.component.html', + styleUrl: './portfolio-item-card.component.scss' +}) +export class PortfolioItemCardComponent { + @Output() expand: EventEmitter = new EventEmitter(); + @Input() job: Job | undefined + @Input() expanded: boolean = false; +} diff --git a/src/app/pages/portfolio/portfolio.page.html b/src/app/pages/portfolio/portfolio.page.html index 0e08661..7637bb0 100644 --- a/src/app/pages/portfolio/portfolio.page.html +++ b/src/app/pages/portfolio/portfolio.page.html @@ -1,120 +1,11 @@ - + +
+
+
+ + +
+
+
- -Ah ah! This is not a real Portfolio page, a fullstack dev like me doesnt have just a list of website to show (even if I have a lot of them). I have a lot of experience in a lot of different fields, and I want to share with you my professional journey. - -I started my career as a mobile developer, and I worked on a lot of different projects, from games to museum apps, from 3D printing to AR. I worked on a lot of different platforms, from Android to iOS, from Windows Phone to Windows 8.1, from Unity3D to Xamarin. - -After that I started to work on web development, and I worked on a lot of different projects, from a 3D printing cloud service to a GDPR crawler, from a football infotainment platform to a vision portal. I worked on a lot of different technologies, from .NET to NodeJS, from Vue to React, from Nuxt to Next, from MongoDB to SQL Server. - -I worked in a lot of different companies, from small startups to big enterprises, from small teams to big teams, from local companies to international companies. - -I worked in a lot of different roles, from mobile developer to fullstack developer, from frontend developer to backend developer, from lead developer to CTO. - -I worked in a lot of different countries, from Italy to Belgium, from Germany to Switzerland, from Spain to UK. - -I worked in a lot of different languages, from Italian to English, from Spanish to French. - -I worked in a lot of different fields, from 3D printing to GDPR, from football to vision, from AR to museum. - -I worked in a lot of different technologies, from .NET to NodeJS, from Vue to React, from Nuxt to Next, from MongoDB to SQL Server. - -I worked in a lot of different frameworks, from Xamarin to Unity3D, from .NET to NodeJS, from Vue to React, from Nuxt to Next. - -I worked in a lot of different platforms, from Android to iOS, from Windows Phone to Windows 8.1, from Unity3D to Xamarin. - -I worked in a lot of different tools, from Visual Studio to Visual Studio Code, from Git to SVN, from Jira to Trello. - -I worked in a lot of different methodologies, from Agile to Scrum, from Kanban to Waterfall. - -I worked in a lot of different environments, from local to remote, from office to home. - -I worked in a lot of different roles, from mobile developer to fullstack developer, from frontend developer to backend developer, from lead developer to CTO. - -I worked in a lot of different projects, from small to big, from simple to complex, from local to international. - -I worked in a lot of different teams, from small to big, from local to international. - -In the end, I worked in a lot of different ways, from small to big, from local to international. - - -"Tuttifrutti", this is how i explain my professional journey, and this is how I explain my professional skills. - -Professional Odyssey: - -ChiamarsiBomber | CTO | 2023 - Present - -As the CTO of ChiamarsiBomber, I lead the charge in developing a cutting-edge web platform for football infotainment. Navigating the intricacies of real-time data integration and ensuring high availability during peak periods, I orchestrate the IT team to deliver a seamless experience. - -Iubenda | Lead Backend Engineer | 2022 - 2023 - -At Iubenda, I assumed the role of Lead Backend Engineer, steering a small team in the maintenance and evolution of the critical Radar code product. This crawler identifies GDPR non-compliant websites, playing a pivotal role in revenue generation. - -Alcon | Frontend Developer | 2021 - 2022 - -Contributing to a colossal remote team spanning continents, I served as a Frontend Developer for Alcon, shaping the Alcon Vision portal. - -Welance | Lead Frontend Developer | 2021 - 2022 - -As the Lead Frontend Developer at Welance, I spearheaded the development of acker.co, an educational website for a green kids project. Balancing speed and optimization, I made architectural decisions, utilizing Nuxt (a Vue framework), and collaborated on crafting a captivating user experience. - -CsProject | Fullstack Developer | 2017 - 2021 - -My leadership role at CsProject involved creating a new web-based product, rejuvenating a legacy .NET system. Through strategic planning and team collaboration, we successfully bridged the past and future. - -Inn3D | Fullstack Developer | 2015 - 2017 - -Inn3D witnessed my expertise in designing and developing a cloud 3D printing service, revolutionizing how users print 3D models while implementing innovative measures to prevent counterfeiting. - -Vargroup and BMS | Fullstack Developer | 2014 - -I pioneered an Augmented Reality (AR) software for the Brussels Egyptian Museum using Unity3D and C#, running seamlessly on Epson Moverio Smart Glasses. - -Geckosoft | Mobile Developer | 2012 - 2014 - -My journey began at Geckosoft, where I collaborated on developing a Sudoku game using Xamarin, gaining foundational experience and honing best practices. - - - - -

πŸš€ Crafting Innovation in Code: A Decade of Software Engineering Excellence 🌐

- -Greetings! I am a highly skilled and motivated software engineer with over a decade of experience, dedicated to shaping the digital landscape through innovative solutions. My journey began at the University of Pisa, where I earned my BA in Computer Science, setting the stage for a career marked by continuous learning and hands-on expertise. - -Educational Pursuits: - -University of Pisa | BA Computer Science | 2020 -University of Valencia | BA Computer Science | 2020 -Algebra University of Zagreb | Winter School: Cybersecurity, Artificial Intelligence | 2020 - - -

πŸš€ Current Endeavors: Steering the Technological Symphony

- -ChiamarsiBomber | CTO | 2023 - Present - -In my current role as the Chief Technology Officer at ChiamarsiBomber, I've elevated the IT branch to new heights, overseeing the development of a cutting-edge web platform for football infotainment. This endeavor entails handling the intricacies of embedding real-time data streams alongside static footballer data from diverse sources. My strategic leadership ensures that the service remains in high availability, even during peak periods, creating an immersive and seamless experience for users. - -

πŸ› οΈ Shaping Success: My Approach to Work

-My work philosophy revolves around injecting fresh energy and strategic organization into existing teams, kickstarting new projects, or assembling teams from the ground up. Here's how I contribute: - -
    -
  • Agile Maestro: Proficient in agile methodologies, I orchestrate projects with a focus on adaptability, collaboration, and timely delivery. Whether it's scrum ceremonies or sprint planning, I bring agility to every aspect of the development process.
  • -
  • Innovative Scaling: With a proven track record of scaling products, I've successfully led teams through the challenges of growth. My approach involves balancing scalability with a commitment to delivering high-quality, efficient solutions.
  • -
  • Mentorship Maven: Passionate about fostering talent, I believe in creating an environment where team members thrive. I provide mentorship, foster collaboration, and encourage a culture of continuous learning.
  • -
  • Architectural Artistry: As a clean coder, I take pride in designing consistent and scalable software architectures. I leverage my expertise to make informed architectural choices, ensuring that the technology foundation is robust and adaptable.
  • -
  • Startup Catalyst: Having been a part of startups and initiatives from the ground up, I possess the insight needed to navigate the dynamic challenges of a fledgling project. I'm adept at streamlining processes, fostering creativity, and swiftly moving from ideation to implementation.
  • -
  • Team Dynamo: Leading by example, I instill a sense of purpose and dedication in the teams I work with. I believe in the power of collaboration, open communication, and fostering a positive working environment.
  • -
- - -🌟 Joining Forces: Ready for the Next Chapter - -If you're seeking a seasoned professional to join your existing team, breathe new life into ongoing projects, or spearhead the creation of a team from scratch, I bring a wealth of experience, a commitment to excellence, and a passion for building transformative solutions. Let's collaborate and turn your vision into a technological triumph! πŸš€ - -

The Sicilian Symphony:

- -

In the picturesque tranquility of Sicily, where time seems to gently sway with the olive groves, I've found not just a home but a canvas for my professional and personal growth. Balancing a thriving career with the joys of family life, Sicily offers a unique blend of serenity, culinary delights, and a pace of life that allows me to savor each moment. - - Let's continue this journey of innovation, where every line of code echoes the rich tapestry of experience and expertise. 🌟

- diff --git a/src/app/pages/portfolio/portfolio.page.ts b/src/app/pages/portfolio/portfolio.page.ts index a3e688d..16831dc 100644 --- a/src/app/pages/portfolio/portfolio.page.ts +++ b/src/app/pages/portfolio/portfolio.page.ts @@ -2,18 +2,88 @@ import { Component } from '@angular/core'; import {SectionComponent} from "../../section/section.component"; import {PageComponent} from "../../page/page.component"; import {FooterComponent} from "../../footer/footer.component"; - +import {RouterOutlet} from "@angular/router"; +import {NgForOf, NgIf} from "@angular/common"; +import {PortfolioItemCardComponent} from "./portfolio-item-card/portfolio-item-card.component"; +import {Job} from "../../models/job"; @Component({ selector: 'iov-portfolio-page', standalone: true, imports: [ SectionComponent, PageComponent, - FooterComponent + FooterComponent, + RouterOutlet, + NgForOf, + NgIf, + PortfolioItemCardComponent ], templateUrl: './portfolio.page.html', styleUrl: './portfolio.page.scss' }) export class PortfolioPage { + expandedJob: number = -1; + jobs: Job[] = [ + { + name: 'ChiamarsiBomber', + role: 'CTO', + description: 'As the CTO of ChiamarsiBomber, I lead the charge in developing a cutting-edge web platform for football infotainment.
Navigating the intricacies of real-time data integration and ensuring high availability during peak periods, I orchestrate the small (3 person) IT team to deliver a seamless experience.', + website: 'https://chiamarsibomber.com/', + image: 'assets/portfolio/chiamarsibomber.jpeg' + }, + { + name: 'Iubenda', + role: 'Lead Backend Engineer', + description: 'At Iubenda, I assumed the role of Lead Backend Engineer, steering a small team in the maintenance and evolution of the critical Radar code product.
This crawler identifies GDPR non-compliant websites, playing a pivotal role in revenue generation', + website: 'https://iubenda.com/', + image: 'assets/portfolio/iubenda.png' + }, + { + name: 'Alcon', + role: 'Frontend Developer', + description: 'At Alcon, I was responsible for the development of a new web platform for the Vision Care.
I worked closely with the UX team to deliver a seamless experience, and with the backend team to ensure a smooth integration with the existing systems.', + website: 'https://alcon.com/', + image: 'assets/portfolio/alcon.png' + }, + { + name: 'Acker', + role: 'Lead Frontend Developer', + description: 'As the Lead Frontend Developer at Welance, I spearheaded the development of Acker.co, an educational website for a green kids project. Balancing speed and optimization, I made architectural decisions, utilizing Nuxt (a Vue framework), and collaborated on crafting a captivating user experience.', + website: 'https://acker.co/', + image: 'assets/portfolio/acker.svg' + }, + { + name: 'Medicami', + role: 'Fullstack Developer', + description: 'I\'ve realized a mobile App with Ionic that connected with neoped to manage the medical visits.
I\'ve also realized the backend with Loopback and the frontend with Angular. The app was in the stores for 4 years, then the company was dismissed and neoped product sell.', + website: 'https://hotel-net.it/', + image: 'assets/portfolio/medicami.png' + }, + { + name: 'HotelNet', + role: 'Lead Frontend Developer', + description: 'I realized the frontend of the HotelNet\'s Booking Engine widget. Hotelnet is a company that provides IT services to hotels.
I worked closely with the UX team to deliver a seamless experience, and with the backend team to ensure a smooth integration with the existing systems.', + website: 'https://hotel-net.it/', + image: 'assets/portfolio/hotelnet.png' + }, + { + name: 'FullstackAgency', + role: 'Lead Frontend Developer', + description: 'As the Lead Frontend Developer at FullstackAgency, I was responsible for the development of the first version of the frontend of Romeo.
I worked closely with the UX team to deliver a seamless experience, and with the backend team to ensure a smooth integration with the existing systems.', + website: 'https://www.fullstackagency.it/', + image: 'assets/portfolio/fullstackagency.png' + }, + { + name: 'CsProject', + role: 'Lead Frontend Developer', + description: 'My role at CsProject involved creating a new web-based product based on a legacy .NET system (PROMAN), not only from the execution point of view but also taking care of building up a new team, making a delivery plan and allocating resources. Through strategic planning and team collaboration, we successfully bridged the past and future, delivering a modern, responsive, and user-friendly experience.', + website: 'https://csproject.com/', + image: 'assets/portfolio/csproject.png' + }, + ] + + expand(index: number) { + this.expandedJob = index; + } } diff --git a/src/app/pages/projects/projects.page.html b/src/app/pages/projects/projects.page.html index 2fb5600..0ec7d57 100644 --- a/src/app/pages/projects/projects.page.html +++ b/src/app/pages/projects/projects.page.html @@ -2,4 +2,4 @@ [backgroundImageUrl]="'/assets/cat.jpg'">
-

My projects bla bla bla

+

ng2 fittext + netum In progress...

diff --git a/src/app/portfolio-card/portfolio-card.component.html b/src/app/portfolio-card/portfolio-card.component.html deleted file mode 100644 index 22dadff..0000000 --- a/src/app/portfolio-card/portfolio-card.component.html +++ /dev/null @@ -1,13 +0,0 @@ -
-
- -
-
{{work?.name}}
-

{{work?.description}}

- - Visit Website - -
-
-
diff --git a/src/app/portfolio-card/portfolio-card.component.ts b/src/app/portfolio-card/portfolio-card.component.ts deleted file mode 100644 index e912e9e..0000000 --- a/src/app/portfolio-card/portfolio-card.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component } from '@angular/core'; -import {Work} from "../models/work"; -import {NgOptimizedImage} from "@angular/common"; - -@Component({ - selector: 'iov-portfolio-card', - standalone: true, - imports: [ - NgOptimizedImage - ], - templateUrl: './portfolio-card.component.html', - styleUrl: './portfolio-card.component.scss' -}) -export class PortfolioCardComponent { - work: Work | undefined; -} diff --git a/src/app/section/section.component.html b/src/app/section/section.component.html index e23715d..89caf40 100644 --- a/src/app/section/section.component.html +++ b/src/app/section/section.component.html @@ -5,10 +5,6 @@ [style.background-image]="backgroundImageUrl ? 'url(' + backgroundImageUrl +')' : ''">

{{title}}

-
-
-
- -
-
-
+
+ +
diff --git a/src/assets/portfolio/acker.svg b/src/assets/portfolio/acker.svg new file mode 100644 index 0000000..12c75b4 --- /dev/null +++ b/src/assets/portfolio/acker.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/portfolio/alcon.png b/src/assets/portfolio/alcon.png new file mode 100644 index 0000000..d3408e2 Binary files /dev/null and b/src/assets/portfolio/alcon.png differ diff --git a/src/assets/portfolio/chiamarsibomber.jpeg b/src/assets/portfolio/chiamarsibomber.jpeg new file mode 100644 index 0000000..0c98542 Binary files /dev/null and b/src/assets/portfolio/chiamarsibomber.jpeg differ diff --git a/src/assets/portfolio/csproject.png b/src/assets/portfolio/csproject.png new file mode 100644 index 0000000..3a890c7 Binary files /dev/null and b/src/assets/portfolio/csproject.png differ diff --git a/src/assets/portfolio/fullstackagency.png b/src/assets/portfolio/fullstackagency.png new file mode 100644 index 0000000..0faa115 Binary files /dev/null and b/src/assets/portfolio/fullstackagency.png differ diff --git a/src/assets/portfolio/hotelnet.png b/src/assets/portfolio/hotelnet.png new file mode 100644 index 0000000..1d72462 Binary files /dev/null and b/src/assets/portfolio/hotelnet.png differ diff --git a/src/assets/portfolio/iubenda.png b/src/assets/portfolio/iubenda.png new file mode 100644 index 0000000..aa4557b Binary files /dev/null and b/src/assets/portfolio/iubenda.png differ diff --git a/src/assets/portfolio/medicami.png b/src/assets/portfolio/medicami.png new file mode 100644 index 0000000..1b0a6c4 Binary files /dev/null and b/src/assets/portfolio/medicami.png differ diff --git a/src/index.html b/src/index.html index dc8ef2e..7a76fcf 100644 --- a/src/index.html +++ b/src/index.html @@ -2,7 +2,7 @@ - LoreiovCom + Lorenzo Iovino - Personal page