<?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: Austine Zeze Muyonga</title>
    <description>The latest articles on DEV Community by Austine Zeze Muyonga (@austinezeze7).</description>
    <link>https://dev.to/austinezeze7</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3940373%2F87aa63f3-a0db-4030-af00-c19da45fc69c.jpeg</url>
      <title>DEV Community: Austine Zeze Muyonga</title>
      <link>https://dev.to/austinezeze7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/austinezeze7"/>
    <language>en</language>
    <item>
      <title>Building a Backend With Go and Neon PostgreSQL: Lessons From My E-Commerce Project</title>
      <dc:creator>Austine Zeze Muyonga</dc:creator>
      <pubDate>Wed, 30 Sep 2026 19:35:38 +0000</pubDate>
      <link>https://dev.to/austinezeze7/building-a-backend-with-go-and-neon-postgresql-lessons-from-my-e-commerce-project-24lb</link>
      <guid>https://dev.to/austinezeze7/building-a-backend-with-go-and-neon-postgresql-lessons-from-my-e-commerce-project-24lb</guid>
      <description>&lt;p&gt;One of my goals as a developer is to move beyond building static websites and learn how to create applications that store, retrieve, and manage real data.&lt;/p&gt;

&lt;p&gt;That goal has influenced my work on &lt;strong&gt;Austine Kicks&lt;/strong&gt;, a sneaker e-commerce project I am developing using HTML, CSS, JavaScript, Go, and Neon PostgreSQL.&lt;/p&gt;

&lt;p&gt;In this post, I want to share some of the lessons I have encountered while exploring backend development and database integration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Chose Go for the Backend
&lt;/h2&gt;

&lt;p&gt;I have been learning Go at Zone01 Kisumu, and I wanted to apply what I was learning to a practical project.&lt;/p&gt;

&lt;p&gt;Go provides a way to build HTTP servers, handle requests, define application logic, and communicate with databases.&lt;/p&gt;

&lt;p&gt;For my project, I started organizing the backend into different responsibilities rather than placing everything in a single file.&lt;/p&gt;

&lt;p&gt;My structure includes areas for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Server startup.&lt;/li&gt;
&lt;li&gt;Database connection and schema.&lt;/li&gt;
&lt;li&gt;HTTP handlers.&lt;/li&gt;
&lt;li&gt;Data models.&lt;/li&gt;
&lt;li&gt;Middleware.&lt;/li&gt;
&lt;li&gt;Routes and application logic.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Separating these responsibilities makes the code easier to understand and maintain as the project grows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Working With Neon PostgreSQL
&lt;/h2&gt;

&lt;p&gt;For the database, I chose Neon, a hosted PostgreSQL service.&lt;/p&gt;

&lt;p&gt;The application needs to manage product information such as names, brands, categories, prices, available sizes, stock quantities, descriptions, and product images.&lt;/p&gt;

&lt;p&gt;I also started planning the database structure for orders and order items.&lt;/p&gt;

&lt;p&gt;A simplified product table might look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;products&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="nb"&gt;SERIAL&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="nb"&gt;VARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;150&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;brand&lt;/span&gt; &lt;span class="nb"&gt;VARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="n"&gt;category&lt;/span&gt; &lt;span class="nb"&gt;VARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="n"&gt;price&lt;/span&gt; &lt;span class="nb"&gt;NUMERIC&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;stock&lt;/span&gt; &lt;span class="nb"&gt;INTEGER&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;description&lt;/span&gt; &lt;span class="nb"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;image&lt;/span&gt; &lt;span class="nb"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;featured&lt;/span&gt; &lt;span class="nb"&gt;BOOLEAN&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="k"&gt;FALSE&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This structure provides a starting point for storing sneaker information in a consistent format.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connecting the Database to Go
&lt;/h2&gt;

&lt;p&gt;The backend needs a database connection before it can retrieve or save products.&lt;/p&gt;

&lt;p&gt;I configured the application to read the database connection string from an environment variable called &lt;code&gt;DATABASE_URL&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This is important because database credentials should not be hardcoded into the source code or committed to a public repository.&lt;/p&gt;

&lt;p&gt;I also worked on applying the database schema and seeding initial products to make development and testing easier.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding the Frontend-Backend Connection
&lt;/h2&gt;

&lt;p&gt;One challenge I encountered was ensuring that the frontend requested data from the correct API endpoint.&lt;/p&gt;

&lt;p&gt;For example, if the backend exposes products through &lt;code&gt;/api/products&lt;/code&gt;, the frontend must request that same path.&lt;/p&gt;

&lt;p&gt;If the frontend requests &lt;code&gt;/data/products&lt;/code&gt; instead, the server may return a 404 error even when the database is connected successfully.&lt;/p&gt;

&lt;p&gt;This taught me an important lesson: a working database does not automatically mean that the entire application is working.&lt;/p&gt;

&lt;p&gt;The database, backend routes, API responses, and frontend JavaScript must all work together.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Have Learned
&lt;/h2&gt;

&lt;p&gt;Working on Austine Kicks has helped me understand that backend development involves more than writing database queries.&lt;/p&gt;

&lt;p&gt;I need to think about data models, API design, configuration, error handling, security, and how different components communicate.&lt;/p&gt;

&lt;p&gt;I am still improving the project, but every problem I solve gives me a clearer understanding of how full-stack applications are built.&lt;/p&gt;

&lt;p&gt;My next steps include strengthening validation, improving error handling, testing API endpoints, and making the application easier to deploy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For developers who have built Go applications with PostgreSQL, what practices helped you organize your backend and database code?&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Go #PostgreSQL #Neon #BackendDevelopment #WebDev
&lt;/h1&gt;

</description>
      <category>backend</category>
      <category>database</category>
      <category>go</category>
      <category>webdev</category>
    </item>
    <item>
      <title>My Journey Into Software Development: From HTML and CSS to Building Real Projects With Go</title>
      <dc:creator>Austine Zeze Muyonga</dc:creator>
      <pubDate>Tue, 29 Sep 2026 17:37:11 +0000</pubDate>
      <link>https://dev.to/austinezeze7/my-journey-into-software-development-from-html-and-css-to-building-real-projects-with-go-ldj</link>
      <guid>https://dev.to/austinezeze7/my-journey-into-software-development-from-html-and-css-to-building-real-projects-with-go-ldj</guid>
      <description>&lt;p&gt;When I first started learning software development, my experience was mainly with HTML, CSS, and a little JavaScript. I understood how to create web pages and style them, but I wanted to go beyond the frontend. I wanted to understand how applications work behind the scenes, how data is stored, and how different parts of a system communicate.&lt;/p&gt;

&lt;p&gt;That curiosity led me to Zone01 Kisumu, where my learning journey became more practical and challenging.&lt;/p&gt;

&lt;p&gt;Discovering Go as My First Serious Programming Language&lt;/p&gt;

&lt;p&gt;Go became the first programming language I started learning seriously. Coming from HTML and CSS, I quickly realized that programming requires a different way of thinking.&lt;/p&gt;

&lt;p&gt;Instead of focusing only on how a page looks, I had to learn how to break down problems into smaller steps, work with variables and functions, understand control flow, and write logic that produces the expected output.&lt;/p&gt;

&lt;p&gt;Some of the concepts I have been working on include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Variables, data types, and operators.&lt;/li&gt;
&lt;li&gt;Functions and parameters.&lt;/li&gt;
&lt;li&gt;Loops and conditional statements.&lt;/li&gt;
&lt;li&gt;Strings and string manipulation.&lt;/li&gt;
&lt;li&gt;Arrays, slices, and maps.&lt;/li&gt;
&lt;li&gt;Error handling and debugging.&lt;/li&gt;
&lt;li&gt;Git and collaborative development.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Projects and exercises such as WordAnatomy, RepeatAlpha, HashCode, and Camel-to-Snake Case have helped me practice these concepts.&lt;/p&gt;

&lt;p&gt;Learning Through Challenges&lt;/p&gt;

&lt;p&gt;One thing I have learned is that understanding a concept when someone explains it is different from applying it independently.&lt;/p&gt;

&lt;p&gt;Sometimes a problem looks simple until you start writing the code. You might understand the expected output but struggle to determine the steps needed to achieve it.&lt;/p&gt;

&lt;p&gt;I have learned to approach these challenges by breaking problems down, testing smaller pieces of logic, reading error messages carefully, and trying different solutions.&lt;/p&gt;

&lt;p&gt;The process can be frustrating, but every challenge I solve gives me more confidence.&lt;/p&gt;

&lt;p&gt;Moving From Exercises to Real Projects&lt;/p&gt;

&lt;p&gt;Beyond programming exercises, I have also been exploring practical projects, including Austine Kicks, an e-commerce platform for sneakers, and DumpTrade, a waste-exchange platform developed during a GreenTech hackathon.&lt;/p&gt;

&lt;p&gt;These projects have helped me understand that building software involves much more than writing code. You also need to think about databases, APIs, user experience, deployment, teamwork, and maintenance.&lt;/p&gt;

&lt;p&gt;What I Am Learning Along the Way&lt;/p&gt;

&lt;p&gt;I am still learning, and I do not consider myself an expert. However, I now understand that becoming a developer is a continuous process of learning, experimenting, making mistakes, and improving.&lt;/p&gt;

&lt;p&gt;My goal is to become a full-stack developer who builds useful solutions to real community problems.&lt;/p&gt;

&lt;p&gt;I am documenting this journey because I believe that sharing what we learn can help other beginners who are on a similar path.&lt;/p&gt;

&lt;p&gt;If you are also starting your software development journey, what programming language or project are you currently working on?&lt;/p&gt;

&lt;p&gt;Let's learn and grow together.&lt;/p&gt;

&lt;h1&gt;
  
  
  DEVCommunity #100DaysOfCode #Go #WebDev #Beginners
&lt;/h1&gt;

</description>
      <category>beginners</category>
      <category>go</category>
      <category>learning</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Learning Go as a beginner developer</title>
      <dc:creator>Austine Zeze Muyonga</dc:creator>
      <pubDate>Tue, 02 Jun 2026 10:31:43 +0000</pubDate>
      <link>https://dev.to/austinezeze7/learning-go-as-a-beginner-developer-2f6e</link>
      <guid>https://dev.to/austinezeze7/learning-go-as-a-beginner-developer-2f6e</guid>
      <description>&lt;p&gt;My journey with Go began when I decided to move beyond frontend technologies. At the time, I only had experience with HTML, CSS, and a little JavaScript, so Go became the first programming language I committed to learning in depth. Starting out was both exciting and challenging because many of the concepts were completely new to me. However, I quickly found Go interesting due to its simple syntax and structured approach to programming. Every new topic I learn, from functions and loops to packages and error handling, helps me better understand how software is built behind the scenes.&lt;/p&gt;

&lt;p&gt;Although I have not fully mastered Go yet, I am making steady progress and enjoying the learning process. My goal is to gain a solid understanding of the language within the next two months and become confident enough to build backend projects with it. I see Go as an important step in my growth as a software developer, and I am excited about the opportunities it opens up for creating scalable and efficient applications. As I continue learning and practicing, I look forward to turning my knowledge into real-world projects and sharing more of my experiences with the developer community.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>go</category>
      <category>learning</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
