<?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: OKEKE CHIMA</title>
    <description>The latest articles on DEV Community by OKEKE CHIMA (@okeke_chima_4d4acd8f61e67).</description>
    <link>https://dev.to/okeke_chima_4d4acd8f61e67</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%2F3408561%2F1e024935-fbf6-41c4-ae15-34e9c6801da3.jpg</url>
      <title>DEV Community: OKEKE CHIMA</title>
      <link>https://dev.to/okeke_chima_4d4acd8f61e67</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/okeke_chima_4d4acd8f61e67"/>
    <language>en</language>
    <item>
      <title>From Backlog to Deployment: My Hands-On Journey with Jira &amp; Scrum</title>
      <dc:creator>OKEKE CHIMA</dc:creator>
      <pubDate>Fri, 06 Feb 2026 18:52:07 +0000</pubDate>
      <link>https://dev.to/okeke_chima_4d4acd8f61e67/from-backlog-to-deployment-my-hands-on-journey-with-jira-scrum-2gbl</link>
      <guid>https://dev.to/okeke_chima_4d4acd8f61e67/from-backlog-to-deployment-my-hands-on-journey-with-jira-scrum-2gbl</guid>
      <description>&lt;p&gt;This week, I decided to dive deeper into Agile by running a full sprint on a live project using Jira and Scrum. The goal was simple: take a feature from an idea all the way to deployment, while practicing structured Agile delivery.&lt;/p&gt;

&lt;p&gt;Stepping into Multiple Roles&lt;/p&gt;

&lt;p&gt;Working solo meant I wore multiple hats throughout the sprint:&lt;/p&gt;

&lt;p&gt;Product Owner (PO): I prioritized which UI improvements would deliver the most value.&lt;/p&gt;

&lt;p&gt;Scrum Master (SM): I managed the backlog, organized stories, and tracked progress daily in Jira.&lt;/p&gt;

&lt;p&gt;Developer: I implemented the UI changes and ensured everything worked as intended.&lt;/p&gt;

&lt;p&gt;DevOps Lead: I committed, deployed, and verified updates on a live server.&lt;/p&gt;

&lt;p&gt;This approach gave me a realistic perspective of how cross-functional teams collaborate in a real-world environment.&lt;/p&gt;

&lt;p&gt;Planning the Sprint&lt;/p&gt;

&lt;p&gt;Before touching any code, I focused on backlog refinement:&lt;/p&gt;

&lt;p&gt;Created user stories with clear acceptance criteria.&lt;/p&gt;

&lt;p&gt;Estimated each story using story points, considering scope, complexity, and risk.&lt;/p&gt;

&lt;p&gt;Ranked stories by value to prioritize what mattered most for the sprint goal.&lt;/p&gt;

&lt;p&gt;With the backlog refined, I moved into sprint planning, selecting a few high-value stories and defining a concrete goal for the sprint.&lt;/p&gt;

&lt;p&gt;Execution and Deployment&lt;/p&gt;

&lt;p&gt;Once planning was done, I started incremental work on the first story. I tracked progress in Jira, moving stories across the board as each task was completed.&lt;/p&gt;

&lt;p&gt;By the end of the sprint, I had implemented a visible UI improvement on the Go-To Job Board project. I manually deployed the updates to an AWS EC2 server, verified everything worked live, and captured evidence of the final product.&lt;/p&gt;

&lt;p&gt;Live project:&lt;a href="http://13.61.100.83/" rel="noopener noreferrer"&gt;http://13.61.100.83/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Key Takeaways&lt;/p&gt;

&lt;p&gt;Agile isn’t just for teams. Even solo projects benefit from structured backlogs, story points, and sprints.&lt;/p&gt;

&lt;p&gt;Jira adds clarity. Breaking work into stories, subtasks, and sprints makes progress tangible.&lt;/p&gt;

&lt;p&gt;Small wins matter. Incremental improvements give visibility and confidence, making delivery feel achievable.&lt;/p&gt;

&lt;p&gt;Reflection&lt;/p&gt;

&lt;p&gt;Running this sprint reinforced a simple truth: Agile is about structured delivery, not just completing tasks. By working through Jira and Scrum in practice, I experienced the full lifecycle of a feature:&lt;/p&gt;

&lt;p&gt;Plan → Build → Ship → Verify → Reflect&lt;/p&gt;

&lt;p&gt;Building in public and learning through hands-on practice continues to be the fastest way for me to grow as a developer and a DevOps practitioner.&lt;/p&gt;

</description>
      <category>agile</category>
      <category>devops</category>
      <category>learning</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Mastering Git, GitHub, and Deployment: My CodeTrack Assignment Experience</title>
      <dc:creator>OKEKE CHIMA</dc:creator>
      <pubDate>Fri, 30 Jan 2026 13:17:43 +0000</pubDate>
      <link>https://dev.to/okeke_chima_4d4acd8f61e67/mastering-git-github-and-deployment-my-codetrack-assignment-experience-46gk</link>
      <guid>https://dev.to/okeke_chima_4d4acd8f61e67/mastering-git-github-and-deployment-my-codetrack-assignment-experience-46gk</guid>
      <description>&lt;p&gt;In one of my recent assignments, I revisited some core Git and GitHub practices while working on my CodeTrack project. Many developers use Git and GitHub daily without fully understanding the principles behind them—but knowing how and why they work is essential for real-world software development.&lt;/p&gt;

&lt;p&gt;Git is more than just a version control tool—it’s like a time machine for your code. Every change, every milestone, and every experiment is recorded, creating a clear history of your project. GitHub complements this by providing a central, collaborative hub where teams can review, discuss, and merge changes safely. Together, they make collaboration seamless and ensure your code is always backed up and organized.&lt;/p&gt;

&lt;p&gt;What I Did in This Assignment&lt;/p&gt;

&lt;p&gt;For this assignment, I revisited the CodeTrack project and took it a step further by deploying it to a live environment using an AWS EC2 instance. Here’s the workflow I followed:&lt;/p&gt;

&lt;p&gt;Forked and cloned the repository to my local machine, created a feature branch, and made updates.&lt;/p&gt;

&lt;p&gt;Launched an EC2 instance:&lt;/p&gt;

&lt;p&gt;Ubuntu 24.04 LTS, t3.micro instance.&lt;/p&gt;

&lt;p&gt;Set up the server environment:&lt;/p&gt;

&lt;p&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&lt;br&gt;
sudo apt install nginx -y&lt;/p&gt;

&lt;p&gt;Transferred project files from my local computer to the remote server using scp (secure copy protocol).&lt;/p&gt;

&lt;p&gt;Configured the server:&lt;/p&gt;

&lt;p&gt;Set permissions, organized files, and placed index.html and style.css in /var/www/html/ for Nginx to serve.&lt;/p&gt;

&lt;p&gt;Restarted Nginx and verified the live site using the public IP of the instance.&lt;/p&gt;

&lt;p&gt;This process wasn’t just about running commands—it was about understanding why each step matters. Git ensured my code remained clean, trackable, and collaborative-ready, while GitHub acted as a single source of truth. The deployment step bridged the gap between development and a live environment, a critical skill for any aspiring DevOps engineer.&lt;/p&gt;

&lt;p&gt;Lessons Learned&lt;/p&gt;

&lt;p&gt;Pull Requests matter: I practiced creating pull requests, which mirrors how teams review, discuss, and safely merge code.&lt;/p&gt;

&lt;p&gt;Version control builds accountability: Every change is recorded and auditable, making collaboration smoother.&lt;/p&gt;

&lt;p&gt;Deployment connects the dots: Moving from local development to a live server highlighted the importance of infrastructure, file organization, and proper server configuration.&lt;/p&gt;

&lt;p&gt;Whether you’re debugging, collaborating, or deploying, Git and GitHub form the foundation of modern software workflows. Mastering them transforms you from just writing code to building, managing, and delivering projects with confidence and precision.&lt;/p&gt;

&lt;p&gt;GitHub fork link for this project: &lt;a href="https://github.com/ccokeke0023/devops-micro-internship-interviews" rel="noopener noreferrer"&gt;https://github.com/ccokeke0023/devops-micro-internship-interviews&lt;/a&gt;&lt;br&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%2Fgm3ohak2n4kobtigzzil.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%2Fgm3ohak2n4kobtigzzil.png" alt=" " width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>git</category>
      <category>github</category>
      <category>learning</category>
    </item>
    <item>
      <title>Deploying a Production-Ready Portfolio Website Using Linux Fundamentals</title>
      <dc:creator>OKEKE CHIMA</dc:creator>
      <pubDate>Fri, 23 Jan 2026 09:22:03 +0000</pubDate>
      <link>https://dev.to/okeke_chima_4d4acd8f61e67/deploying-a-production-ready-portfolio-website-using-linux-fundamentals-4611</link>
      <guid>https://dev.to/okeke_chima_4d4acd8f61e67/deploying-a-production-ready-portfolio-website-using-linux-fundamentals-4611</guid>
      <description>&lt;p&gt;This week, I deployed a production-ready portfolio website, an experience that significantly deepened my understanding of Linux fundamentals in a real-world context. Rather than working purely at a theoretical level, this project required me to apply core concepts in a practical, production-like environment.&lt;/p&gt;

&lt;p&gt;The deployment was carried out on an Ubuntu virtual machine, with Nginx configured as the web server to deliver the application. From server setup and package management to service configuration and validation, every step reinforced the importance of understanding how Linux systems operate under the hood.&lt;/p&gt;

&lt;p&gt;While the process came with its challenges, it was ultimately very rewarding. It tested my ability to troubleshoot issues, follow best practices, and make informed decisions when configuring and serving applications in a live environment.&lt;/p&gt;

&lt;p&gt;The completed portfolio is live and accessible at:&lt;br&gt;
&lt;a href="http://100.52.219.98" rel="noopener noreferrer"&gt;http://100.52.219.98&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Overall, this exercise highlighted how essential Linux skills are in modern DevOps workflows, particularly in areas such as system administration, deployment, and web serving. More importantly, it strengthened my confidence in translating foundational knowledge into practical solutions—an ability that is critical in production environments.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>linux</category>
      <category>portfolio</category>
      <category>webdev</category>
    </item>
    <item>
      <title>EpicBook web app on AWS using a simple two-tier architecture</title>
      <dc:creator>OKEKE CHIMA</dc:creator>
      <pubDate>Tue, 23 Sep 2025 11:40:07 +0000</pubDate>
      <link>https://dev.to/okeke_chima_4d4acd8f61e67/epicbook-web-app-on-aws-using-a-simple-two-tier-architecture-34n4</link>
      <guid>https://dev.to/okeke_chima_4d4acd8f61e67/epicbook-web-app-on-aws-using-a-simple-two-tier-architecture-34n4</guid>
      <description>&lt;p&gt;This week, I rolled up my sleeves and deployed the EpicBook web app on AWS using a simple two-tier architecture.&lt;/p&gt;

&lt;p&gt;Architecture&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Node.js app on Ubuntu EC2

MySQL on Amazon RDS

Nginx as reverse proxy + PM2 for persistence
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Steps I Took&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Launched EC2 + RDS, tightened security groups (HTTP, SSH, MySQL).

Installed Node.js, npm, PM2, Nginx; cloned repo; configured .env.

Created epicbook DB in RDS, granted privileges, ran migrations.

Replaced default Nginx config → routed port 80 → 8080.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The Gotchas&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Passwords matter — the # in my DB password broke parsing until I quoted it.

MySQL barked with ERROR 1046 (3D000) — turns out you must create the DB before assigning privileges.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Takeaway&lt;br&gt;
This was more than just spinning up an app. Debugging under pressure taught me how tiny misconfigs (networking, creds, DB setup) can derail a deployment. Every blocker forced me deeper into AWS, Node.js, and MySQL internals&lt;/p&gt;

</description>
      <category>devops</category>
      <category>network</category>
      <category>automation</category>
      <category>programming</category>
    </item>
    <item>
      <title>DevOps Micro Internship – Deploying a Two-Tier Architecture in AWS</title>
      <dc:creator>OKEKE CHIMA</dc:creator>
      <pubDate>Tue, 23 Sep 2025 11:19:05 +0000</pubDate>
      <link>https://dev.to/okeke_chima_4d4acd8f61e67/devops-micro-internship-deploying-a-two-tier-architecture-in-aws-poa</link>
      <guid>https://dev.to/okeke_chima_4d4acd8f61e67/devops-micro-internship-deploying-a-two-tier-architecture-in-aws-poa</guid>
      <description>&lt;p&gt;DevOps Micro Internship – Deploying a Two-Tier Architecture in AWS&lt;/p&gt;

&lt;p&gt;As part of my Week 4 DevOps Micro Internship under the mentorship of Pravin Mishra, Anisa Bibi, Praveen Pandey, and other co-mentors, I worked on building and deploying a two-tier WordPress architecture on AWS. The objective was to design infrastructure that is secure, scalable, and highly available—while gaining hands-on experience by implementing it in practice.&lt;br&gt;
What I Built&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Web Tier: WordPress hosted on an Amazon EC2 instance inside a public subnet.

Database Tier: MySQL database on Amazon RDS, deployed in private subnets with no public access.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;AWS Concepts I Practiced&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CIDR &amp;amp; Subnets – planning IP ranges and segmenting networks into public/private layers

Security Groups – controlling traffic at the instance level with least-privilege rules

NACLs – subnet-level security for an additional layer of protection

Route Tables &amp;amp; Internet Gateway – enabling clean routing and external connectivity

Multi-AZ RDS – ensuring high availability and automatic failover for the database
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;What I Did&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Designed a Virtual Private Cloud (VPC) with carefully planned networking, routing, and security

Configured Security Groups and NACLs to enforce layered security across tiers

Deployed Amazon RDS (MySQL) in a Multi-AZ setup for resilience and fault tolerance

Launched and configured a Linux-based EC2 instance with Apache, PHP, and WordPress

Validated the architecture by successfully publishing a test blog post on WordPress
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Key Takeaways&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Separating the web and database tiers improves both security and scalability

Managed services like RDS simplify operations while increasing reliability

Strong network design upfront (CIDR, subnets, routing) makes future scaling easier
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>devops</category>
      <category>automation</category>
    </item>
    <item>
      <title>From Jira Ticket to Live Server: My Week 3 DevOps Sprint</title>
      <dc:creator>OKEKE CHIMA</dc:creator>
      <pubDate>Tue, 09 Sep 2025 07:43:16 +0000</pubDate>
      <link>https://dev.to/okeke_chima_4d4acd8f61e67/from-jira-ticket-to-live-server-my-week-3-devops-sprint-3ln4</link>
      <guid>https://dev.to/okeke_chima_4d4acd8f61e67/from-jira-ticket-to-live-server-my-week-3-devops-sprint-3ln4</guid>
      <description>&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%2Fkda1ok2u04m6sn8uiky0.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%2Fkda1ok2u04m6sn8uiky0.png" alt=" " width="800" height="437"&gt;&lt;/a&gt;&lt;br&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%2Fbg0ztoxibwctzye790fz.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%2Fbg0ztoxibwctzye790fz.png" alt=" " width="800" height="448"&gt;&lt;/a&gt;Have you ever wondered what it really takes to move a single feature from a Jira ticket all the way into production?&lt;/p&gt;

&lt;p&gt;That was exactly the challenge I faced in Week 3 of my DevOps Micro-Internship—a 5-day solo Scrum sprint where I had to plan, code, deploy, and troubleshoot on an AWS EC2 instance.&lt;/p&gt;

&lt;p&gt;🎯 Sprint Goal: Deploy a visible footer showing version, date, and author details on the Mini-Finance app hosted on EC2.&lt;/p&gt;

&lt;p&gt;🗓️ Sprint Breakdown&lt;br&gt;
✅ Day 1 | The Launchpad&lt;/p&gt;

&lt;p&gt;Jira was my mission control. I broke down one Epic into Stories and Subtasks.&lt;/p&gt;

&lt;p&gt;First commit: created the footer’s HTML.&lt;/p&gt;

&lt;p&gt;Provisioned an EC2 instance, installed Nginx, and configured the web root.&lt;/p&gt;

&lt;p&gt;✅ Day 2 | The Polish&lt;/p&gt;

&lt;p&gt;Fixed broken image paths and cleaned up CSS for proper rendering.&lt;/p&gt;

&lt;p&gt;Transferred updated files to the server with SCP.&lt;/p&gt;

&lt;p&gt;Learned the importance of nginx -t before reloading—saves headaches!&lt;/p&gt;

&lt;p&gt;✅ Day 3 &amp;amp; 4 | Visibility + Reliability&lt;/p&gt;

&lt;p&gt;Ensured the footer was responsive across devices.&lt;/p&gt;

&lt;p&gt;Added a /healthz endpoint to check service availability.&lt;/p&gt;

&lt;p&gt;Lesson learned: small, daily increments made testing smoother and reduced rollback risks.&lt;/p&gt;

&lt;p&gt;✅ Day 5 | The Retrospective&lt;/p&gt;

&lt;p&gt;Footer live and sprint goal achieved.&lt;/p&gt;

&lt;p&gt;Captured burndown and demo deployed successfully.&lt;/p&gt;

&lt;p&gt;📌 Reflections&lt;/p&gt;

&lt;p&gt;What went well&lt;/p&gt;

&lt;p&gt;Clear acceptance criteria&lt;/p&gt;

&lt;p&gt;Incremental delivery&lt;/p&gt;

&lt;p&gt;What needs improvement&lt;/p&gt;

&lt;p&gt;Automating deployments with CI/CD in the next sprint&lt;/p&gt;

&lt;p&gt;Scrum in action&lt;br&gt;
Transparency. Focus. Commitment.&lt;/p&gt;

&lt;p&gt;🔑 Key Takeaway&lt;/p&gt;

&lt;p&gt;This week wasn’t just about shipping a footer. It was about end-to-end ownership—planning, fixing, configuring, deploying, monitoring, and improving. That, to me, is the essence of DevOps.&lt;/p&gt;

&lt;p&gt;⚙️ Tech Stack&lt;/p&gt;

&lt;p&gt;AWS EC2 • Ubuntu • Nginx • Jira • Git • SCP • HTML/CSS&lt;/p&gt;

&lt;p&gt;A big thank you to Pravin Mishra for structuring such a practical internship, and to mentors like Praveen Pandey, Anisa Bibi, and the DMI community for their support.&lt;/p&gt;

&lt;p&gt;I’m excited to carry this ship-to-production mindset forward as I grow in the Cloud &amp;amp; DevOps space.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Week 2 -Git &amp; GitHub</title>
      <dc:creator>OKEKE CHIMA</dc:creator>
      <pubDate>Fri, 29 Aug 2025 18:47:59 +0000</pubDate>
      <link>https://dev.to/okeke_chima_4d4acd8f61e67/week-2-git-github-5and</link>
      <guid>https://dev.to/okeke_chima_4d4acd8f61e67/week-2-git-github-5and</guid>
      <description>&lt;p&gt;Week 2–Git &amp;amp; GitHub Hands-On Assignment:&lt;br&gt;
In this post, I’ll walk you through my Git &amp;amp; GitHub learning journey, where I set up Git locally, created and managed a project, explored branching workflows, and finally deployed my app on an AWS EC2 instance.&lt;/p&gt;

&lt;p&gt;✅ *&lt;em&gt;Task 1: Create a Local Project Directory&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
The first step was setting up a project directory. Since I’m on Linux, I installed Git using my package manager. Then I ran the following commands to initialize my project:&lt;br&gt;
mkdir CodeTrack&lt;br&gt;
cd CodeTrack&lt;br&gt;
git init&lt;br&gt;
This created a new folder named CodeTrack and turned it into a Git repository.&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Task 2: Configure Git Locally&lt;/strong&gt;&lt;br&gt;
Next, I configured Git to identify me in this repository.&lt;br&gt;
git config --local user.name "Okeke Christian"&lt;br&gt;
git config --local user.email "&lt;a href="mailto:eceokekechima@gmail.com"&gt;eceokekechima@gmail.com&lt;/a&gt;"&lt;br&gt;
git config --local --list&lt;br&gt;
This ensures that all commits in this project are linked to my name and email.&lt;br&gt;
When to use Local vs Global?&lt;br&gt;
Global config: Applies to all repositories.&lt;/p&gt;

&lt;p&gt;Local config: Overrides global settings for a specific repo (useful if you’re working on multiple projects with different identities).&lt;br&gt;
Step 1: Git Setup Verification&lt;br&gt;
I checked my Git version to confirm installation:&lt;br&gt;
git --version&lt;/p&gt;

&lt;h1&gt;
  
  
  Output: 2.34.1
&lt;/h1&gt;

&lt;p&gt;Step 2: Create &amp;amp; Modify Files&lt;br&gt;
I created some starter files:&lt;br&gt;
touch index.html style.css&lt;br&gt;
Then I edited them using Visual Studio Code, copying initial content from a GitHub assignment repo.&lt;br&gt;
Step 3: Track &amp;amp; Commit Files&lt;br&gt;
I staged and committed my changes:&lt;br&gt;
git add index.html style.css&lt;br&gt;
git commit -m "Initial commit — Added index.html and style.css"&lt;br&gt;
To verify my commits, I used:&lt;br&gt;
git log --oneline&lt;br&gt;
Step 4: Branching Workflow (Adding Contact Page)&lt;br&gt;
One of the best parts of Git is branching. I created a feature branch to add a Contact Page.&lt;br&gt;
git checkout -b feature/contact-page&lt;br&gt;
touch contact.html&lt;br&gt;
git add contact.html&lt;br&gt;
git commit -m "feat(contact): add contact page with email and phone"&lt;br&gt;
I also updated index.html to include a link to contact.html, then committed the changes.&lt;br&gt;
After switching back to main, I confirmed the link wasn’t visible until I merged the branch.&lt;br&gt;
git checkout main&lt;br&gt;
git merge feature/contact-page&lt;br&gt;
Lesson learned: Changes in a feature branch stay isolated until merged into main.&lt;br&gt;
Step 5: Deploying on AWS EC2&lt;br&gt;
I deployed my static site on an AWS EC2 instance with Nginx.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Steps included:&lt;/strong&gt;&lt;br&gt;
1.Launch EC2 (Ubuntu).&lt;br&gt;
2.SSH into the instance:&lt;br&gt;
3.ssh -i "cc-key.pem" ubuntu@&lt;br&gt;
4.Install Nginx &amp;amp; start the service.&lt;br&gt;
5.Copy project files (index.html, style.css, contact.html) into Nginx’s web directory.&lt;/p&gt;

&lt;p&gt;6.Access the site via browser using the EC2 public IP.&lt;br&gt;
GitHub Profile Setup&lt;br&gt;
I updated my GitHub profile with a professional bio:&lt;br&gt;
Network Engineer | Cloud &amp;amp; DevOps Enthusiast | Learning Git &amp;amp; GitHub&lt;br&gt;
I also added my profile picture and location.&lt;br&gt;
🔎** Why does this matter?**&lt;br&gt;
 A professional GitHub profile acts like a live portfolio — showcasing real projects, coding style, and collaboration skills. This builds credibility with recruiters and collaborators.&lt;br&gt;
Forking &amp;amp; Pull Request Workflow&lt;br&gt;
Finally, I practiced contributing to an open-source repo (mini_finance):&lt;br&gt;
Forked the repo.&lt;br&gt;
Cloned it locally &amp;amp; set up SSH authentication.&lt;br&gt;
Created a new branch feature-readme-update.&lt;br&gt;
Updated README.md with assignment notes.&lt;br&gt;
Pushed changes and opened a Pull Request.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Why a PR is important?&lt;/strong&gt;&lt;br&gt;
 A Pull Request is not just about merging code — it’s about collaboration, code review, and knowledge sharing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaways&lt;/strong&gt;&lt;br&gt;
Local vs Global Git config helps manage identity across projects.&lt;br&gt;
Branching keeps features isolated until merged.&lt;br&gt;
GitHub is more than storage — it’s your portfolio.&lt;br&gt;
Deployment on EC2 gives real-world DevOps exposure.&lt;br&gt;
Pull Requests encourage teamwork and clean code practices&lt;/p&gt;

</description>
      <category>opensource</category>
    </item>
  </channel>
</rss>
