<?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: Elvis</title>
    <description>The latest articles on DEV Community by Elvis (@muoks_102).</description>
    <link>https://dev.to/muoks_102</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%2F4082156%2F68f2c5e0-393a-4319-b420-81666e6d6f4d.png</url>
      <title>DEV Community: Elvis</title>
      <link>https://dev.to/muoks_102</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/muoks_102"/>
    <language>en</language>
    <item>
      <title>Transforming Messy Logistics Data into an Executive Power BI Dashboard: The JCars Project</title>
      <dc:creator>Elvis</dc:creator>
      <pubDate>Tue, 29 Sep 2026 18:29:10 +0000</pubDate>
      <link>https://dev.to/muoks_102/transforming-messy-logistics-data-into-an-executive-power-bi-dashboard-the-jcars-project-cmd</link>
      <guid>https://dev.to/muoks_102/transforming-messy-logistics-data-into-an-executive-power-bi-dashboard-the-jcars-project-cmd</guid>
      <description>&lt;p&gt;In the world of data analytics, you rarely get a perfect dataset. Real-world business data is often messy, filled with manual entry errors, mixed currencies, and flawed calculations. &lt;/p&gt;

&lt;p&gt;Recently, I took on a project for &lt;strong&gt;JCars Logistics&lt;/strong&gt; to build an end-to-end Business Intelligence solution. The goal was to take a highly inconsistent raw flat-file and transform it into an interactive, reliable Power BI executive dashboard. Here is a technical walkthrough of my process from ETL to Data Modeling and DAX.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(You can view the complete project files and documentation in my (&lt;a href="https://github.com/dev-elvismuoka/End-to-End-Power-BI-Reporting-JCars)" rel="noopener noreferrer"&gt;https://github.com/dev-elvismuoka/End-to-End-Power-BI-Reporting-JCars)&lt;/a&gt;).&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. ETL &amp;amp; Data Cleaning with Power Query
&lt;/h2&gt;

&lt;p&gt;The initial dataset (&lt;code&gt;Jcars_data.csv&lt;/code&gt;) required heavy cleaning before any analysis could begin. Using Power Query, I executed the following transformations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Standardizing Text &amp;amp; Dates:&lt;/strong&gt; Fixed typos, trimmed invisible spaces, and converted Excel serial numbers (e.g., 46066) into standard Date formats.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cleaning Percentages:&lt;/strong&gt; Converted text-based string percentages (e.g., "7%") into usable decimal formats (0.07).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Currency Standardization (M-Code):&lt;/strong&gt; The most complex ETL challenge was a mix of currencies (USD, ZAR, EUR) and text suffixes ("M" for millions) in the financial columns. I wrote a custom Power Query M formula to extract the numeric values, handle missing/error text, and apply static exchange rates to convert everything into a unified Kenya Shillings (KES) baseline.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Data Validation: Trusting the Math, Not the System
&lt;/h2&gt;

&lt;p&gt;A critical part of data engineering is validation. The raw dataset contained a &lt;code&gt;Revenue Recorded&lt;/code&gt; column. Instead of blindly accepting it, I created a custom column to calculate the &lt;em&gt;True Revenue&lt;/em&gt; based on the formula: &lt;code&gt;(Unit Price * (1 - Discount)) * Units Sold&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Finding:&lt;/strong&gt; The recorded revenue contained severe discrepancies, missing discounts, and negative error values. This validated the decision to abandon the raw column and rely on explicit DAX measures moving forward.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Analytical Data Modeling (Star Schema)
&lt;/h2&gt;

&lt;p&gt;To optimize the Power BI engine and avoid implicit aggregation issues, I broke the flat file down into a Star Schema. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Created &lt;strong&gt;Dim_Location&lt;/strong&gt; and &lt;strong&gt;Dim_Vehicle&lt;/strong&gt; by referencing the main query and removing duplicates to create unique primary keys.&lt;/li&gt;
&lt;li&gt;Retained the cleaned main query as &lt;strong&gt;Fact_Sales&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Established &lt;strong&gt;One-to-Many (1:*)&lt;/strong&gt; relationships with single cross-filter directions between the dimensions and the fact table.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. Business Logic with DAX
&lt;/h2&gt;

&lt;p&gt;I created a dedicated &lt;code&gt;_Measures&lt;/code&gt; table to house explicit DAX calculations, preventing the model from relying on implicit aggregations. Key measures included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Total Sales Revenue&lt;/code&gt; (using &lt;code&gt;SUMX&lt;/code&gt; for row-by-row iteration)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Total Costs&lt;/code&gt; (Base Cost + Logistics + Delivery)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Gross Profit&lt;/code&gt; &amp;amp; &lt;code&gt;Gross Profit Margin&lt;/code&gt; (using &lt;code&gt;DIVIDE&lt;/code&gt; to prevent errors)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Visualization &amp;amp; Interactive Drill-Through
&lt;/h2&gt;

&lt;p&gt;The final product consists of a two-page interactive report:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Executive Summary (Page 1):&lt;/strong&gt; A high-level view featuring a KPI ribbon, revenue/profit trendlines over time, and location performance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Detailed Logistics Analysis (Page 2):&lt;/strong&gt; A deep-dive page utilizing Power BI's &lt;strong&gt;Drill-through&lt;/strong&gt; feature. An executive can right-click a specific branch on Page 1 and instantly teleport to Page 2 to see the vehicle-specific logistics costs and customer satisfaction ratings for &lt;em&gt;only&lt;/em&gt; that branch.&lt;/li&gt;
&lt;/ol&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwdujkbjqpax01t151dg4.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwdujkbjqpax01t151dg4.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Business Insights
&lt;/h2&gt;

&lt;p&gt;Through this model, I was able to deliver actionable insights to JCars management:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Heavy vehicle types severely erode gross profit margins due to disproportionate logistics costs.&lt;/li&gt;
&lt;li&gt;Relying on manual Point-of-Sale revenue entry is causing massive accounting discrepancies; the CRM needs automated calculations.&lt;/li&gt;
&lt;li&gt;The company is highly exposed to currency volatility and should standardize regional price lists to a unified base currency.&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;*Feel free to check out the underlying code and data model on my &lt;a href="https://github.com/dev-elvismuoka/End-to-End-Power-BI-Reporting-JCars" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>analytics</category>
    </item>
    <item>
      <title>Making Sense of Power BI: Data Modelling, Relationships, and Joins</title>
      <dc:creator>Elvis</dc:creator>
      <pubDate>Sun, 13 Sep 2026 12:18:11 +0000</pubDate>
      <link>https://dev.to/muoks_102/making-sense-of-power-bi-data-modelling-relationships-and-joins-4n7m</link>
      <guid>https://dev.to/muoks_102/making-sense-of-power-bi-data-modelling-relationships-and-joins-4n7m</guid>
      <description>&lt;p&gt;Data typically arrives in Power BI from various sources, and is often in unorganized or inconsistent formats. Data modelling is just the process of cleaning this data and then logically linking it together in such a way that your reports can run quickly and your DAX formula functions. A good model makes your life easier, a bad model will make your Power BI app slow and confusing!&lt;/p&gt;

&lt;p&gt;This is a summary of key concepts that you should understand when creating a Power BI model.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Data Modelling Approaches
&lt;/h2&gt;

&lt;p&gt;The order of tables is important. You can accomplish this in three ways:&lt;/p&gt;

&lt;p&gt;Flat Table: This is a bit like a huge Excel spreadsheet with all sales, customer information, product information and so on stuffed into one large table.&lt;/p&gt;

&lt;p&gt;Pros: Easy to view for a rapid scan.&lt;/p&gt;

&lt;p&gt;Cons: Lot of repeating data, huge file size and poor performance in Power BI.&lt;/p&gt;

&lt;p&gt;You can create a diagram of a One Massive Table with 50 columns.A diagram of a One Massive Table with 50 columns can be created.&lt;/p&gt;

&lt;h2&gt;
  
  
  Star Schema
&lt;/h2&gt;

&lt;p&gt;: The optimal configuration in Power BI. You have one numbers table, in the middle, with descriptive tables that reference the numbers. It resembles a star.&lt;/p&gt;

&lt;p&gt;Cons: Can be very slow when using many different data sources that don't share the same data model.&lt;/p&gt;

&lt;p&gt;Cons: It needs a little work up front to correctly partition your data.&lt;/p&gt;

&lt;p&gt;Diagram:&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fx53l29yy091tnkmg5im5.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fx53l29yy091tnkmg5im5.jpg" alt=" " width="799" height="543"&gt;&lt;/a&gt;&lt;br&gt;
Snowflake Schema: Just like a star, but with even more tables  such as a product table pointing to a separate category table.&lt;/p&gt;

&lt;p&gt;Cons: Offers a little less storage space.&lt;/p&gt;

&lt;p&gt;Pros and Cons: Creates a messy model and makes the Power BI tooling slower due to the number of hops it needs to make to filter data.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Fact Tables vs Dimension Tables
&lt;/h2&gt;

&lt;p&gt;In order to create a Star Schema, you must divide your tables into two categories: Facts and Dimensions.&lt;/p&gt;

&lt;p&gt;Numbers are stored in Fact Tables. Business Events are stored in Fact Tables. They monitor and follow up what has occurred. A fact table's "grain" is how much detail it contains, for example, one row represents one transaction.&lt;/p&gt;

&lt;p&gt;Contains: Numbers, dates, and ID keys.&lt;/p&gt;

&lt;p&gt;In fact, there are several examples of fact tables, including FactSales , which is a table that contains information about all transactions ,and FactOrders.&lt;/p&gt;

&lt;p&gt;Dimension Tables: These are used to hold information about the facts. They give you the who, what, where and when.&lt;/p&gt;

&lt;p&gt;The description will include the following: Contains: Text, names, categories, descriptions.&lt;/p&gt;

&lt;p&gt;Examples: DimCustomer (names of customers), DimProduct (names of items), DimDate.&lt;/p&gt;

&lt;p&gt;Let us take an example of a business which sells spare parts for motorcycles. The FactSales table just logs that on Tuesday, Customer #105 bought Product #50 for KES 2,000. To find out that Customer #105 is John and Product #50 is a brake pad, Power BI looks up those IDs in the DimCustomer and DimProduct tables.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Relationships in Power BI
&lt;/h2&gt;

&lt;p&gt;Relationships are simply wires that link your tables together, allowing them to communicate with one another. If they're not in there, the total sales amount won't be filtered by clicking on a customer's name on a dashboard.&lt;/p&gt;

&lt;p&gt;One to Many (1:*): Standard and best type. In the DimCustomer table, there can be many Sales in the FactSales table.&lt;/p&gt;

&lt;p&gt;One-to-One (1:1): Rare. In Table A, each row corresponds to exactly one row in Table B (one employee to one ID badge).&lt;/p&gt;

&lt;p&gt;Many-to-Many (:): Disorderly and typically not done. A large number of students enrolled in a variety of classes. Can cause Power BI to be confused and to generate incorrect totals.&lt;/p&gt;

&lt;p&gt;Key concepts here:&lt;/p&gt;

&lt;p&gt;Ability to have a unique ID in a dimension table (e.g., CustomerID). No duplicates allowed.&lt;/p&gt;

&lt;p&gt;The same ID used in the fact table (Foreign Key). It is repeated because a customer has the ability to purchase items multiple times.&lt;/p&gt;

&lt;p&gt;Active vs Inactive: More than one line can be between two tables (such as Order Date and Ship Date) but only one of them can be solid (Active). The other are dotted (Inactive) and require special DAX to get them active.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Filter Direction
&lt;/h2&gt;

&lt;p&gt;Filters are passed down the wires when tables are connected.&lt;/p&gt;

&lt;p&gt;Single-direction filtering: The dimension table filters the data in one direction only, that is, from the Dimension table to the Fact table. If you filter DimProduct by "Helmets", the dimension will go down and filter FactSales to just show helmet sales. This is the most secure and quickest way.&lt;/p&gt;

&lt;p&gt;Both/Bidirectional filtering: Arrows flow in both directions. What's more, the fact table can be used to filter the dimension table. Unless there is a compelling need to use this, you should do your best to avoid using it as it creates “ambiguous paths” and slows down your entire report.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Separates in Power Query (Dividing)
&lt;/h2&gt;

&lt;p&gt;Data can be transformed in Power Query prior to it being loaded into the Power BI Model. In some cases, it's necessary to physically join two tables. This is called Merging.&lt;/p&gt;

&lt;p&gt;Let's say we have an Orders table and a Customers table.&lt;/p&gt;

&lt;p&gt;Left Outer Join: All the Orders are retrieved and only Customer details are retrieved when there is a match. &lt;/p&gt;

&lt;p&gt;Right Outer Join: - Retains all Customers; Only orders when they match.&lt;/p&gt;

&lt;p&gt;Full Outer Join: Returns all the data from both tables, matching them when they have a matching field, but leaving the values empty when they do not.&lt;/p&gt;

&lt;p&gt;Inner Join: Only returns the rows with a match in both tables. If there is no matching customer, then the order will be dropped.&lt;/p&gt;

&lt;p&gt;Left Anti Join: Only return the Orders which do not have a corresponding Customer.&lt;/p&gt;

&lt;p&gt;Right Anti Join: Remains only the Customers that have not ordered anything.&lt;/p&gt;

&lt;p&gt;Expected Output Example (Inner Join): When you Inner Join Orders to Customers, the output table will only contain orders that had a Customer ID on their Order Line item, and not those that were a cash order.&lt;/p&gt;

&lt;p&gt;Power Query Joins vs Power BI Relationships&lt;br&gt;
They can be easily confused, but they occur at different times and do different things:&lt;/p&gt;

&lt;p&gt;Power Query Merge (Joins): This occurs prior to the data being loaded. It physically "mashes" columns from two tables into a wider table. It will make files larger and refreshing slower.&lt;/p&gt;

&lt;p&gt;Power BI Relationships: This occurs once the data has been loaded. The tables remain completely independent in the Model view and are only connected by a virtual wire.&lt;/p&gt;

&lt;p&gt;When to use which? Always use tables separately and use Relationship 90% of the time. It's better for BI. Use the Power Query Merge only if you have to get some messy data into a single dimension table before loading it.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Recommended Power BI Model
&lt;/h2&gt;

&lt;p&gt;In my opinion, the Star Schema is a very good solution for a typical business intelligence project.&lt;/p&gt;

&lt;p&gt;The way it should be set up is:&lt;/p&gt;

&lt;p&gt;Data Model: Star Schema (1 fact table as center surrounded by multiple dimension tables).&lt;/p&gt;

&lt;p&gt;Relationships: Strictly One-to-Many (1:*).&lt;/p&gt;

&lt;p&gt;Filter Direction: Only Single direction from Dimensions to Fact table.&lt;/p&gt;

&lt;p&gt;Why? The Star Schema has the "Goldilocks" condition.&lt;/p&gt;

&lt;p&gt;Performance: The underlying engine of Power BI (VertiPaq) is actually optimised to read Star Schemas very quickly.&lt;/p&gt;

&lt;p&gt;Writing DAX on a Star Schema is easy, DAX Simplicity. No more bidirectional filters or peculiar many to many errors.&lt;/p&gt;

&lt;p&gt;Maintainability: When the business adds a new product category or a new store branch, you simply update the dimension table for that category without destroying some big, big flat file. It maintains your model clean, scalable and easy to read.&lt;/p&gt;

</description>
      <category>analytics</category>
    </item>
    <item>
      <title>My First GitHub Project: From a Local Folder to GitHub Using Git and SSH</title>
      <dc:creator>Elvis</dc:creator>
      <pubDate>Sun, 23 Aug 2026 00:11:26 +0000</pubDate>
      <link>https://dev.to/muoks_102/my-first-github-project-from-a-local-folder-to-github-using-git-and-ssh-25j3</link>
      <guid>https://dev.to/muoks_102/my-first-github-project-from-a-local-folder-to-github-using-git-and-ssh-25j3</guid>
      <description>&lt;p&gt;I thought that when i join Lux Dev i would jump straight into building complex data pipelines and getting to understand kafka, kafka sounds like a really cool name, but if there's one thing I'm realizing quickly, it's that before you can orchestrate complex data pipelines or deploy web scrapers, you have to master the absolute basics of version control.&lt;/p&gt;

&lt;p&gt;This week, I was working on setting up a new local project, a health records analysis and pushing it to GitHub entirely through the command line.&lt;/p&gt;

&lt;p&gt;If you're just starting out with version control, here is exactly how I took a project from a completely blank folder on my desktop to a live repository on GitHub, including testing SSH keys.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Up the Local Project
&lt;/h2&gt;

&lt;p&gt;First, I needed a place for my project to live. I opened my bash terminal, navigated to my Desktop using he &lt;code&gt;cd&lt;/code&gt;command, and created the main project folder along with a sub-folder for the data named Data.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;Desktop
&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; Kenya_Hospital_Health_Records_Project/Data
&lt;span class="nb"&gt;cd &lt;/span&gt;Kenya_Hospital_Health_Records_Project
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With the directories created, I copied and pasted my Kenya_Hospital_Health_Records_Project.csv data set we were given in class into the Data folder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Writing the README via Terminal
&lt;/h2&gt;

&lt;p&gt;Instead of opening a text editor, I decided to build out my README.md right from the command line using &lt;code&gt;echo&lt;/code&gt; command. The &lt;code&gt;&amp;gt;&lt;/code&gt;operator adds new text the file, while &lt;code&gt;&amp;gt;&amp;gt;&lt;/code&gt; adds text to the already creaed line.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"# KENYA HEALTH RECORDS ANALYSIS"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; README.md
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"## Project Overview"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; README.md
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"This project analyses health records of a hospital"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; README.md

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I also added a quick list of tools and challenges using the same method and used the &lt;code&gt;cat README.md&lt;/code&gt; command to print the contents of the file directly in the terminal to confirm that everything looked right.&lt;/p&gt;

&lt;h2&gt;
  
  
  Initializing and Staging
&lt;/h2&gt;

&lt;p&gt;Now it was time to turned this folder into a tracked Git repository.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git init&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Running git status showed that my Data/ folder and README.md were untracked. To stage them for my first commit, I used add command tell Git to add everything in the current directory:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git add .&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Committing the Code
&lt;/h2&gt;

&lt;p&gt;With the files staged, I wrote a commit message to remind myself in future what the code was about. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;git commit -m "Kenye Hospital Data Project"&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Connecting to GitHub and Testing SSH
&lt;/h2&gt;

&lt;p&gt;At this point, I needed to link my local repo to the empty GitHub repository I had just created.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git remote add origin https://github.com/dev-elvismuoka/Git-Commands-Class.git&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I confirmed that the SSH for secure authentication was working before trying to push:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ssh -T git@github.com&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The response was: Hi dev-elvismuoka! You've successfully authenticated, but GitHub does not provide shell access.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Final Push
&lt;/h2&gt;

&lt;p&gt;Finally, it was time for me to push my local main branch to the origin remote on GitHub. The -u command to make sure that for future updates, I can just type git push without typing out the branch name every time.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git push -u origin main&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And just like that, the project was live.&lt;/p&gt;

</description>
      <category>github</category>
      <category>dataengineering</category>
      <category>git</category>
    </item>
  </channel>
</rss>
