<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Photographer and Coder | Lesauf</title>
    <link>/</link>
    <description>Recent content on Photographer and Coder | Lesauf</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 02 Aug 2025 01:00:00 +0100</lastBuildDate>
    <atom:link href="/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How to vibe code an eCommerce API - Part 3: Dependency Injection &amp; Logging</title>
      <link>/blog/2025/08/02/how-to-vibe-code-an-ecommerce-api-part-3-di-logging/</link>
      <pubDate>Sat, 02 Aug 2025 01:00:00 +0100</pubDate>
      <guid>/blog/2025/08/02/how-to-vibe-code-an-ecommerce-api-part-3-di-logging/</guid>
      <description>&lt;p&gt;Welcome to the third part of my series on vibe-coding an eCommerce API!&#xA;In this series, I&amp;rsquo;ll walk you through the process of&#xA;designing and implementing a robust, scalable API for an eCommerce platform.&#xA;You can find the second part &lt;a href=&#34;/blog/2025/07/10/how-to-vibe-code-an-ecommerce-api-part-2-architecture/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The project architecture is already in place. You can see the current version of the code &lt;a href=&#34;https://github.com/lesauf/ecommerce-api/tree/abf26af0c5af5d7828cf5a75d2b9c95397318eaf&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Now if you noticed in &lt;code&gt;src/infrastructure/http/routes/productRoutes.ts&lt;/code&gt;,&#xA;there is a section in line 17 that create dependencies that will be used by the router and controller.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to vibe code an eCommerce API - Part 2: Base architecture</title>
      <link>/blog/2025/07/10/how-to-vibe-code-an-ecommerce-api-part-2-architecture/</link>
      <pubDate>Thu, 10 Jul 2025 01:00:00 +0100</pubDate>
      <guid>/blog/2025/07/10/how-to-vibe-code-an-ecommerce-api-part-2-architecture/</guid>
      <description>&lt;p&gt;Welcome to the second part of my series on vibe-coding an eCommerce API!&#xA;In this series, I&amp;rsquo;ll walk you through the process of&#xA;designing and implementing a robust, scalable API for an eCommerce platform.&#xA;You can find the first introductory part &lt;a href=&#34;/blog/2025/07/09/how-to-vibe-code-an-ecommerce-api-part-1-introduction/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I am a Javascript developer, and I have a personal list of tools I want to use in this portfolio project:&#xA;&lt;a href=&#34;https://github.com/Microsoft/tsyringe#readme&#34;&gt;tsyringe&lt;/a&gt; for DI, &lt;a href=&#34;https://jestjs.io/&#34;&gt;jest&lt;/a&gt; for unit testing, &lt;a href=&#34;https://www.mysql.com/&#34;&gt;MySQL&lt;/a&gt; and&#xA;&lt;a href=&#34;https://www.mongodb.com/&#34;&gt;MongoDB&lt;/a&gt; for the databases (yes, I will showcase both).&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to vibe code an eCommerce API - Part 1: Introduction</title>
      <link>/blog/2025/07/08/how-to-vibe-code-an-ecommerce-api-part-1-introduction/</link>
      <pubDate>Tue, 08 Jul 2025 01:00:00 +0100</pubDate>
      <guid>/blog/2025/07/08/how-to-vibe-code-an-ecommerce-api-part-1-introduction/</guid>
      <description>&lt;p&gt;Welcome to the first part of my series on vibe-coding an eCommerce API!&#xA;In this series, I&amp;rsquo;ll walk you through the process of&#xA;designing and implementing a robust, scalable API for an eCommerce platform.&#xA;All this while using an AI-powered IDE (I personally used &lt;a href=&#34;https://www.jetbrains.com/junie&#34;&gt;Jetbrains Junie&lt;/a&gt;,&#xA;but you can get similar results with any other AI Assistant).&#xA;AI Assistants are really powerful tools, and like any other tool they are&#xA;not responsible for what they do, we, the developers, are.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How I connected my Namecheap domain to Gitlab pages</title>
      <link>/blog/2020/11/14/how-i-connected-my-namecheap-domain-to-gitlab-pages/</link>
      <pubDate>Sat, 14 Nov 2020 19:47:23 +0100</pubDate>
      <guid>/blog/2020/11/14/how-i-connected-my-namecheap-domain-to-gitlab-pages/</guid>
      <description>&lt;p&gt;After some struggle, (their docs are not easy) I succeeded to connect my domain bought on &lt;a href=&#34;https://www.namecheap.com&#34;&gt;Namecheap&lt;/a&gt;, &lt;a href=&#34;https://lesauf.com&#34;&gt;lesauf.com&lt;/a&gt;, to my website on gitlab pages.&lt;/p&gt;&#xA;&lt;p&gt;I actually created two customs domains on Gitlab Pages (&amp;ldquo;Settings&amp;rdquo; -&amp;gt; &amp;ldquo;Pages&amp;rdquo;): &lt;a href=&#34;https://lesauf.com&#34;&gt;lesauf.com&lt;/a&gt; and &lt;a href=&#34;https://www.lesauf.com&#34;&gt;www.lesauf.com&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Here is my configuration in the &amp;ldquo;Advanced DNS section on Namecheap that made the verification on Gitlab pages work :&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Delete all the default records set by Namecheap;&lt;/li&gt;&#xA;&lt;li&gt;Add an &amp;ldquo;A&amp;rdquo; record pointing to 35.185.44.232 (as per &lt;a href=&#34;https://docs.gitlab.com/ee/user/project/pages/custom_domains_ssl_tls_certification/index.html&#34;&gt;Gitlab instructions&lt;/a&gt;);&lt;/li&gt;&#xA;&lt;li&gt;Add a &amp;ldquo;TXT&amp;rdquo; Record pointing to gitlab-pages-verification-code=&amp;hellip; with the &lt;strong&gt;host as _gitlab-pages-verification-code&lt;/strong&gt;;&lt;/li&gt;&#xA;&lt;li&gt;Add a &amp;ldquo;TXT&amp;rdquo; Record pointing to gitlab-pages-verification-code=&amp;hellip; with the &lt;strong&gt;host as _gitlab-pages-verification-code.www&lt;/strong&gt;. This one is for the www subdomain;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Here is a screenshot :&#xA;&lt;a href=&#34;https://res.cloudinary.com/lesauf/image/upload/c_scale,w_500/v1605379810/Blog/2020-11-14_namecheap-domain-gitlab.png&#34; title=&#34;Click to view full size&#34;&gt;&lt;img src=&#34;https://res.cloudinary.com/lesauf/image/upload/c_scale,w_500/v1605379810/Blog/2020-11-14_namecheap-domain-gitlab.png&#34; alt=&#34;My Namecheap setup for Gitlab pages&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>My review of my financial apps</title>
      <link>/blog/2020/09/12/my-review-of-my-financial-apps/</link>
      <pubDate>Sat, 12 Sep 2020 08:20:46 +0100</pubDate>
      <guid>/blog/2020/09/12/my-review-of-my-financial-apps/</guid>
      <description>&lt;h2 id=&#34;or-why-i-do-track-my-expenses&#34;&gt;Or why I do track my expenses&lt;/h2&gt;&#xA;&lt;p&gt;I think many people simply manage their finance by making sure they still have some money available at any time. I used to do it myself, but I got tired of being surprised at how much I spent, without knowing where I all used it. It is true that every month I have my budget well established like a shopping list, but it did not always reflect my real expenses. So about three years ago I decided to track down my expenses in a month.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My photography tools</title>
      <link>/blog/2018/12/23/my-photography-tools/</link>
      <pubDate>Sun, 23 Dec 2018 21:24:46 +0100</pubDate>
      <guid>/blog/2018/12/23/my-photography-tools/</guid>
      <description>&lt;h2 id=&#34;camera-gear&#34;&gt;Camera Gear&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Olympus OM-D E-M10 II + Panasonic Lumix G 25mm F1.7 ASPH&lt;/li&gt;&#xA;&lt;li&gt;Remote trigger (Yongnuo RF603N)&lt;/li&gt;&#xA;&lt;li&gt;Flash (Yongnuo YN560 III)&lt;/li&gt;&#xA;&lt;li&gt;Little flexible tripod&lt;/li&gt;&#xA;&lt;li&gt;Tripod&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;computer--accessories&#34;&gt;Computer &amp;amp; Accessories&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2-in-1 PC (HP Elite x2, 8Gb 128Gb) : I could not afford a more powerful yet portable option&lt;/li&gt;&#xA;&lt;li&gt;USB Hub (Ugreen all in one USB-C)&lt;/li&gt;&#xA;&lt;li&gt;1Tb external &lt;!-- raw HTML omitted --&gt;HDD&lt;!-- raw HTML omitted --&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;software&#34;&gt;Software&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://getfedora.org&#34;&gt;Fedora Linux&lt;/a&gt; : I work on Linux only since 2006&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://digikam.org&#34;&gt;Digikam&lt;/a&gt; : Organize my more than 56 000 photographs&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://darktable.org&#34;&gt;Darktable&lt;/a&gt; : Develop my raw photographs&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://gimp.org&#34;&gt;GIMP&lt;/a&gt; : Some small retouching on pictures&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.scribus.net/&#34;&gt;Scribus&lt;/a&gt; : When I want to do a photobook&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://hugin.sourceforge.net&#34;&gt;Hugin - Panorama photo stitcher&lt;/a&gt; : For panoramas and photo merge&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.exiv2.org/&#34;&gt;Exiv2&lt;/a&gt; : To backup and restore the images metadata when working with hugin&lt;/li&gt;&#xA;&lt;li&gt;Nik Collection (old free Google version)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;online-services&#34;&gt;Online Services&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://gitlab.com&#34;&gt;Gitlab&lt;/a&gt; : Git repository&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.backblaze.com/b2/cloud-storage.html&#34;&gt;Backblaze B2&lt;/a&gt; : Cloud backup for my photos&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://cloudinary.com&#34;&gt;Cloudinary&lt;/a&gt; : Cloud &lt;!-- raw HTML omitted --&gt;CDN&lt;!-- raw HTML omitted --&gt; for my images&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Why I went static for my site</title>
      <link>/blog/2018/12/23/why-i-went-static-for-my-site/</link>
      <pubDate>Sun, 23 Dec 2018 19:42:46 +0100</pubDate>
      <guid>/blog/2018/12/23/why-i-went-static-for-my-site/</guid>
      <description>&lt;h2 id=&#34;or-why-as-coder-i-finally-decided-to-code-my-website&#34;&gt;Or why as coder I finally decided to code my website&lt;/h2&gt;&#xA;&lt;p&gt;For about one year I were a &lt;a href=&#34;https://www.zenfolio.com&#34;&gt;Zenfolio&lt;/a&gt; customer, and I have not much complain about their service (and their support), except their big visible logo on top-right corner of my website. I really liked their many available templates and their online &lt;!-- raw HTML omitted --&gt;DAM&lt;!-- raw HTML omitted --&gt; to handle my images naming, tagging and organization. This way I thought I could more focus on my pictures. But their so much visible logo on my pages kept bugging me &amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contact</title>
      <link>/contact/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/contact/</guid>
      <description>&lt;h1 id=&#34;you-would-like-to-tell-me-something-&#34;&gt;You would like to tell me something ?&lt;/h1&gt;&#xA;&lt;p&gt;Please feel free to drop me a little mail using this form.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FAQ</title>
      <link>/faq/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/faq/</guid>
      <description>&lt;p&gt;Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-what-to-do-if-i-have-still-not-received-the-order&#34;&gt;1. WHAT TO DO IF I HAVE STILL NOT RECEIVED THE ORDER?&lt;/h2&gt;&#xA;&lt;p&gt;Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
