<?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: Kelvin Osagie</title>
    <description>The latest articles on DEV Community by Kelvin Osagie (@whoisefosa).</description>
    <link>https://dev.to/whoisefosa</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%2F3633992%2Fd1637d68-7058-4c4c-b11c-000ef28311b1.png</url>
      <title>DEV Community: Kelvin Osagie</title>
      <link>https://dev.to/whoisefosa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/whoisefosa"/>
    <language>en</language>
    <item>
      <title>How APIs Really Work: A Beginner’s Guide to Building and Understanding Backend Endpoints</title>
      <dc:creator>Kelvin Osagie</dc:creator>
      <pubDate>Sun, 07 Dec 2025 22:29:52 +0000</pubDate>
      <link>https://dev.to/whoisefosa/how-apis-really-work-a-beginners-guide-to-building-and-understanding-backend-endpoints-1c30</link>
      <guid>https://dev.to/whoisefosa/how-apis-really-work-a-beginners-guide-to-building-and-understanding-backend-endpoints-1c30</guid>
      <description>&lt;p&gt;APIs power almost every app we interact with daily, right from logging into your Instagram account to checking your bank balance or just booking a ride. But for beginners, APIs feel invisible. There’s no user interface, no animations, just data moving behind the scenes to attend to your commands.&lt;/p&gt;

&lt;p&gt;In this guide, we’ll explore in depth how APIs actually work, what happens inside a backend server when a request comes in, and how to build your first real endpoint using Express.js. By the end of this article, you should understand APIs like a real backend developer.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Exactly Is an API?
&lt;/h3&gt;

&lt;p&gt;API stands for Application Programming Interface. Basically, it acts as a bridge that allows two systems to communicate. To give you a simple example, imagine a waiter walks up to you at a restaurant. You (the user) place an order, and the waiter (the API) takes that order to the kitchen (the server). Once the kitchen prepares the food, the waiter brings it back to you. And then in technical terms, the Frontend (e.g., React, Vue, HTML) makes a request, the API carries that request to the Backend to process the logic, and then the API returns a response. Almost all APIs communicate using JSON, which is a lightweight data format.&lt;/p&gt;

&lt;h3&gt;
  
  
  How API Requests Actually Work
&lt;/h3&gt;

&lt;p&gt;When you do something like clicking "Login" on your Instagram or Snapchat, trying to get into your account, your browser compiles the data (usually as JSON) and sends it out, starting a high-speed journey across the internet. First, the Domain Name System (DNS) acts like a digital phonebook, translating the website’s name into an IP address specific to you so the request can locate the correct server. Upon arrival, the request doesn't go straight to the data; it first passes through "middleware" layers—security checkpoints that handle logging and verify your identity—before finally reaching the backend controller. This controller is basically the brain of the operation, processing the business logic and running queries against the database to fetch or verify the information you need.&lt;/p&gt;

&lt;p&gt;Once the logic is processed and the database returns the necessary data, the backend then gathers the results into a structured JSON response. This package is sent back across the network to your frontend, which unpacks the information and updates your screen, like logging you in or showing an error message if it doesn't go through. Remarkably, this entire round-trip process—involving network travel, security checks, code execution, and database lookups—is optimized to happen in just a matter of milliseconds, making the interaction feel immediate to the user.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is a REST API
&lt;/h3&gt;

&lt;p&gt;REST means Representational State Transfer. It’s the standard architecture used by most modern APIs. REST operates using endpoints like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GET /api/users
POST /api/login
GET /api/products/:id
DELETE /api/posts/12

REST APIs use:
HTTP Methods
GET – Fetch data
POST – Send data
PUT – Update data
DELETE – Remove data
Common Status Codes
200 – OK
201 – Created
400 – Bad Request
404 – Not Found
500 – Server Error
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What is an Endpoint
&lt;/h3&gt;

&lt;p&gt;An endpoint is simply a URL + HTTP method that performs an action.&lt;br&gt;
Examples:&lt;br&gt;
Action&lt;br&gt;
Example Endpoint&lt;br&gt;
Fetch all users&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GET /api/users
Get a product
GET /api/products/:id
Create account
POST /api/register
Login
POST /api/login
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Types of endpoint inputs
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Route params: /users/:id
Query params: /search?keyword=api
Body data: { "email": "test@gmail.com" }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Building Your First API Endpoint
&lt;/h3&gt;

&lt;p&gt;Let’s create a simple backend server.&lt;br&gt;
Setup&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm init -y
npm install express

Create a file: server.js
Simple GET Endpoint
const express = require('express');
const app = express();
const PORT = 3000;

app.get('/api/hello', (req, res) =&amp;gt; {
  res.json({ message: 'Hello, world!' });
});

app.listen(PORT, () =&amp;gt; console.log(`Server running on port ${PORT}`));

How it works:
app.get() → listens for GET requests
/api/hello → endpoint URL
req → incoming request (data coming in)
res → server response (data going out)

POST Endpoint (Sending Data)
app.use(express.json()); // To read JSON body

app.post('/api/register', (req, res) =&amp;gt; {
  const { name, email } = req.body;

  res.status(201).json({
    message: 'User created successfully',
    data: { name, email }
  });
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What Are Middlewares? (Beginner-Friendly)
&lt;/h3&gt;

&lt;p&gt;Middleware = functions that run before your main logic.&lt;br&gt;
Example:&lt;br&gt;
app.use((req, res, next) =&amp;gt; {&lt;br&gt;
  console.log(&lt;code&gt;${req.method} ${req.url}&lt;/code&gt;);&lt;br&gt;
  next();&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;Uses:&lt;br&gt;
Logging&lt;br&gt;
Authentication&lt;br&gt;
Validating data&lt;br&gt;
Handling CORS&lt;br&gt;
Middleware powers 60% of a backend system.&lt;/p&gt;
&lt;h3&gt;
  
  
  How APIs Talk to Databases
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Endpoint → Controller → Database → Response
Simplified example:
app.get('/api/user/:id', async (req, res) =&amp;gt; {
  try {
    const user = await User.findById(req.params.id);
    res.json(user);
  } catch (error) {
    res.status(500).json({ message: 'Server error' });
  }
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Even though you’re not using a database yet, this pattern appears in every backend.&lt;/p&gt;
&lt;h3&gt;
  
  
  Testing APIs with Postman or Thunder Client
&lt;/h3&gt;

&lt;p&gt;To test:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GET request
Select GET
Enter: http://localhost:3000/api/hello
Click Send
POST request
Select POST
Enter endpoint
Go to Body → JSON
Add data:
{
  "name": "Kelvin",
  "email": "kelvin@example.com"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Testing tools let you test APIs without building a frontend.&lt;/p&gt;

&lt;h3&gt;
  
  
  To Round This Up
&lt;/h3&gt;

&lt;p&gt;APIs are much more than just code; they are the fundamental backbone of modern backend development, acting as the invisible glue that connects frontends, databases, and third-party services. By mastering the core lifecycle—understanding how specific requests trigger logic at endpoints, how middleware secures the pipeline, and how structured responses close the loop—you move from simply writing functions to architecting robust, scalable systems. This foundational knowledge transforms the backend from a confusing "black box" into a logical, manageable workflow where data flows predictably.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Kelvin Osagie</dc:creator>
      <pubDate>Thu, 04 Dec 2025 07:31:20 +0000</pubDate>
      <link>https://dev.to/whoisefosa/-15e</link>
      <guid>https://dev.to/whoisefosa/-15e</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/whoisefosa" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2Fuser%2Fprofile_image%2F3633992%2Fd1637d68-7058-4c4c-b11c-000ef28311b1.png" alt="whoisefosa"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/whoisefosa/frontend-vs-backend-the-real-difference-and-what-beginners-should-focus-on-1jlg" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Frontend vs Backend: The Real Difference and What Beginners Should Focus On&lt;/h2&gt;
      &lt;h3&gt;Kelvin Osagie ・ Dec 4&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#career&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Frontend vs Backend: The Real Difference and What Beginners Should Focus On</title>
      <dc:creator>Kelvin Osagie</dc:creator>
      <pubDate>Thu, 04 Dec 2025 06:42:43 +0000</pubDate>
      <link>https://dev.to/whoisefosa/frontend-vs-backend-the-real-difference-and-what-beginners-should-focus-on-1jlg</link>
      <guid>https://dev.to/whoisefosa/frontend-vs-backend-the-real-difference-and-what-beginners-should-focus-on-1jlg</guid>
      <description>&lt;p&gt;Getting into tech can seem really overwhelming and confusing, like you are entering a maze with no actual destination. There are countless programming languages and too many frameworks to count, and an endless number of career paths. But a foundational problem that almost every beginner faces early on is: &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%2Finuqjota4wsbund235nh.jpg" 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%2Finuqjota4wsbund235nh.jpg" alt="A laptop with code on display" width="640" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Should I go into frontend or backend?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Both are equally important and technical, and require different ways of thinking and problem-solving. In this article, I will be breaking down the real difference between frontend and backend development, the skills you actually need as a beginner, and how to decide which path aligns with your strengths. By the end, you should know exactly where to start. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What Is Frontend Development?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Frontend development is basically everything the user sees and interacts with on a website or web application. Think about it like this: if you've ever interacted with a website, like clicked a button,  filled up a form, or watched an animation on a site. That's frontend work.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div id="app"&amp;gt;
  &amp;lt;h1 id="text"&amp;gt;Hello, World!&amp;lt;/h1&amp;gt;
  &amp;lt;button onclick="changeText()"&amp;gt;Click Me&amp;lt;/button&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;Some responsibilities frontend developers handle:&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Building the visual layouts of websites &lt;/li&gt;
&lt;li&gt;Ensuring mobile responsiveness&lt;/li&gt;
&lt;li&gt;Managing user interactions (clicks, inputs, and form submission)&lt;/li&gt;
&lt;li&gt;Improving accessibility for all users &lt;/li&gt;
&lt;li&gt;Connecting the interface to APIs provided by the backend&lt;/li&gt;
&lt;li&gt;Frontend is basically where design meets logic. The aim is to&lt;/li&gt;
&lt;li&gt;create an interface that is functional, fast, and visually appealing. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;*&lt;em&gt;Core technologies to begin with:  *&lt;/em&gt;&lt;br&gt;
Frontend has a clear and easy learning path that you could follow to gain structure &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML - Structure of the webpage &lt;/li&gt;
&lt;li&gt;CSS / TailwindCSS / Bootstrap - Styling and Layout&lt;/li&gt;
&lt;li&gt;JavaScript - Programming Logic&lt;/li&gt;
&lt;li&gt;Frontend Frameworks - React (most popular), Vue, or Angular.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These tools help you build everything, from a simple landing page to an interactive dashboard. Frontend would be a really good fit for you if you like visual and viable results, like creativity mixed with logic. It deals with a lot of designing and improving the user experience, so you should consider all that before getting into it. &lt;/p&gt;
&lt;h3&gt;
  
  
  What is Backend Development?
&lt;/h3&gt;

&lt;p&gt;Backend development powers the behind-the-scenes logic that users never really see. You can think of it just like a human with his/her backbone that is deeply connected to the brain, which you can't see with the naked eye, but is a vital part of the system. Every time you log in, save data, make a payment, or access your account, a backend server handles these functionalities.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const express = require("express");
const app = express();

app.get("/api/users", (req, res) =&amp;gt; {
  res.json([
    { id: 1, name: "Kelvin" },
    { id: 2, name: "Godwin" }
  ]);
});

app.listen(3000, () =&amp;gt; {
  console.log("Server running on port 3000");
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Some responsibilities backend Developers handle:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Managing the database and storing information&lt;/li&gt;
&lt;li&gt;Writing APIs for frontend apps to connect to &lt;/li&gt;
&lt;li&gt;Handling user authentication (login, signup)&lt;/li&gt;
&lt;li&gt;Securing application data&lt;/li&gt;
&lt;li&gt;Processing payments&lt;/li&gt;
&lt;li&gt;Optimizing server performance &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If we call the frontend the “face” of the website or webpage, then the backend is the brain and engine. &lt;br&gt;
Core technologies to begin with: &lt;br&gt;
Backend development requires learning&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Backend Language - Node.js (JavaScript), Python, Go, or Java&lt;/li&gt;
&lt;li&gt;A Framework - Express.js (Node), Django/Flask (Python)&lt;/li&gt;
&lt;li&gt;Database - MongoDB, PostgreSQL, or MySQL&lt;/li&gt;
&lt;li&gt;REST APIs - How apps communicate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These tools are really effective and would help you build anything from small services to large distribution systems. And if you really enjoy problem-solving and logic, then backend is the right place for you. It promotes systems thinking, and you get to work with data and algorithms.&lt;/p&gt;

&lt;h3&gt;
  
  
  Frontend Vs Development: Clear Differences
&lt;/h3&gt;

&lt;p&gt;Here is an easier way for you to understand the differences: &lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Aspect&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Frontend&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Backend&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Runs On&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Browser&lt;/td&gt;
&lt;td&gt;Server&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Focus&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;User interface &amp;amp; experience&lt;/td&gt;
&lt;td&gt;Logic, data &amp;amp; system behavior&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tools&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;HTML, CSS, JavaScript, React&lt;/td&gt;
&lt;td&gt;Node.js, Express, Databases&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Mindset&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Visual + creative&lt;/td&gt;
&lt;td&gt;Logical + analytical&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Layouts, animations, interactions&lt;/td&gt;
&lt;td&gt;APIs, database operations, authentication&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Conclusion (Should you learn both?)
&lt;/h3&gt;

&lt;p&gt;Eventually, yes. If you really plan to become a stronger developer, frontend and backend are two essential parts of modern software. One focuses on what users see, the other on how everything works behind the scenes. Both are valuable. Both pay well. And both offer huge career opportunities. But you need to learn one first and gradually grow into the next because the tech world is rapidly evolving, and you would need to evolve with it. &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
