<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: tunde</title>
    <description>The latest articles on DEV Community by tunde (@tundealabi).</description>
    <link>https://dev.to/tundealabi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F686722%2F28239d1e-e147-49f0-9337-8ccb66460cf9.jpeg</url>
      <title>DEV Community: tunde</title>
      <link>https://dev.to/tundealabi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tundealabi"/>
    <language>en</language>
    <item>
      <title>🐱 Building a Minimal /me Endpoint with Pure Node.js (No Frameworks) - HNG Internship Stage 0</title>
      <dc:creator>tunde</dc:creator>
      <pubDate>Sat, 18 Oct 2025 23:26:17 +0000</pubDate>
      <link>https://dev.to/tundealabi/building-a-minimal-me-endpoint-with-pure-nodejs-no-frameworks-hng-internship-stage-0-1760</link>
      <guid>https://dev.to/tundealabi/building-a-minimal-me-endpoint-with-pure-nodejs-no-frameworks-hng-internship-stage-0-1760</guid>
      <description>&lt;p&gt;As part of the &lt;a href="https://hng.tech/internship" rel="noopener noreferrer"&gt;HNG Internship&lt;/a&gt; Stage 0 backend task, I was asked to build a simple REST API that returns my profile information along with a dynamic cat fact from an external API.&lt;/p&gt;

&lt;p&gt;Rather than using Express or any framework, I decided to go bare-metal — using just Node.js’ built-in http module.&lt;/p&gt;

&lt;p&gt;This was a fun challenge that made me revisit the basics of how servers, routes, and responses actually work under the hood.&lt;/p&gt;




&lt;p&gt;The goal was to create a GET endpoint at /me that returns a JSON response like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "status": "success",
  "user": {
    "email": "your@email.com",
    "name": "Your Full Name",
    "stack": "Node.js/Express"
  },
  "timestamp": "current UTC time in ISO 8601 format",
  "fact": "random cat fact from Cat Facts API"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dynamic data for the "fact" field comes from the &lt;a href="https://catfact.ninja/fact" rel="noopener noreferrer"&gt;Cat Facts API&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🛠️ Technologies Used&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Just the essentials:&lt;/p&gt;

&lt;p&gt;🟢 Node.js&lt;/p&gt;

&lt;p&gt;💻 Built-in HTTP module&lt;/p&gt;

&lt;p&gt;🌐 Native Fetch API (available in Node 18+)&lt;/p&gt;

&lt;p&gt;No Express, no frameworks, no extra dependencies, just JavaScript.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧩 How It Works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.The server listens for all incoming HTTP requests.&lt;/p&gt;

&lt;p&gt;2.If the route matches /me, it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fetches a random cat fact from &lt;a href="https://catfact.ninja/fact" rel="noopener noreferrer"&gt;https://catfact.ninja/fact&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Builds a structured JSON object containing my profile and the fact&lt;/li&gt;
&lt;li&gt;Sends it back with Content-Type: application/json&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3.If anything goes wrong (like network errors), it falls back to a default cat fact.&lt;/p&gt;

&lt;p&gt;4.Any other route returns a 404 Not Found.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧪 Live Demo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🌍 Live API:&lt;br&gt;
&lt;a href="https://hng13-be-stage-0-production.up.railway.app/me" rel="noopener noreferrer"&gt;https://hng13-be-stage-0-production.up.railway.app/me&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🧾 GitHub Repository:&lt;br&gt;
&lt;a href="https://github.com/tundealabi/hng13-be-stage-0" rel="noopener noreferrer"&gt;https://github.com/tundealabi/hng13-be-stage-0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F13y7q9i86kv1waunym4i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F13y7q9i86kv1waunym4i.png" alt="/me endpoint response" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>node</category>
      <category>hng</category>
    </item>
    <item>
      <title>HNG INTERNSHIP (GOALS)</title>
      <dc:creator>tunde</dc:creator>
      <pubDate>Sun, 15 Aug 2021 14:51:22 +0000</pubDate>
      <link>https://dev.to/tundealabi/hng-internship-goals-2i6h</link>
      <guid>https://dev.to/tundealabi/hng-internship-goals-2i6h</guid>
      <description>&lt;p&gt;&lt;a href="https://dev.to/t/react"&gt;#react&lt;/a&gt; &lt;a href="https://dev.to/t/vue"&gt;#vue&lt;/a&gt; &lt;a href="https://dev.to/t/next"&gt;#nextjs&lt;/a&gt; &lt;a href="https://dev.to/t/nuxt"&gt;#nuxt&lt;/a&gt; &lt;a href="https://dev.to/t/node"&gt;#node&lt;/a&gt; &lt;a href="https://dev.to/t/typescript"&gt;#typescript&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi, I am Alabi Akintunde and today marks the beginning of my frontend HNG internship journey.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is HNG Internship ?
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://internship.zuri.team/"&gt;Hotels Ng Internship&lt;/a&gt; is an ambitious attempt to change the way education is done in Africa. It’s the bridge between learning to code, and becoming the best in the world.&lt;br&gt;
It is a long running, large scale virtual internship for people learning to code and design. It focuses on the post-training phase, and creates a virtual work environment for participants.&lt;/p&gt;
&lt;h2&gt;
  
  
  Goals
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Learn as much as I can to be amongst the best developers out there.&lt;/li&gt;
&lt;li&gt;To be a finalist (...in the Frontend Stack)!&lt;/li&gt;
&lt;li&gt;Improve on my problem-solving skills, efficiency and speed.&lt;/li&gt;
&lt;li&gt;Expand my network by connecting with my peers.&lt;/li&gt;
&lt;li&gt;Finally, have fun.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Getting started with programming ?
&lt;/h2&gt;

&lt;p&gt;Visit the Mozilla Development Network (MDN) tutorial &lt;a href="https://developer.mozilla.org/en-US/docs/Learn"&gt;page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check out these tutorials that will help you kick-start your programming career:&lt;/p&gt;
&lt;h3&gt;
  
  
  Learn Figma
&lt;/h3&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/c9Wg6Cb_YlU"&gt;
&lt;/iframe&gt;
&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/4W4LvJnNegA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Learn GIT
&lt;/h3&gt;

&lt;p&gt;Check out this &lt;strong&gt;&lt;a href="https://www.youtube.com/watch?v=3RjQznt-8kE&amp;amp;list=PL4cUxeGkcC9goXbgTDQ0n_4TBzOO0ocPR"&gt;playlist&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Learn HTML
&lt;/h3&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/qz0aGYrrlhU"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Learn Javascript
&lt;/h3&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/PkZNo7MFNFg"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Learn Node Js
&lt;/h3&gt;

&lt;p&gt;Check out this &lt;strong&gt;&lt;a href="https://nodejs.dev/learn"&gt;page&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
Check out this &lt;strong&gt;&lt;a href="https://www.youtube.com/watch?v=zb3Qk8SG5Ms&amp;amp;list=PL4cUxeGkcC9jsz4LDYc6kv3ymONOKxwBU"&gt;playlist&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ps: Just incase you need information about cars bought, sold and used in Nigeria. Check out &lt;strong&gt;&lt;a href="https://cars.ng"&gt;carsng&lt;/a&gt;&lt;/strong&gt; website.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
