107 lines
4.7 KiB
HTML
107 lines
4.7 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||
<link href="https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Oswald:wght@200..700&family=Quicksand:wght@300..700&display=swap" rel="stylesheet">
|
||
<link rel="stylesheet" href="../css/projectStyle.css">
|
||
<link rel="stylesheet" href="./css/project1Style.css">
|
||
<title>API Accessing Practice – Lew's Portfolio</title>
|
||
</head>
|
||
<body>
|
||
|
||
<header>
|
||
<div class="nav-bar">
|
||
<a href="../index.html"><img class="nav-logo" src="../images/icons/logo.svg" alt="lew's logo" width="180" height="auto"></a>
|
||
<nav>
|
||
<ul class="nav-links">
|
||
<li><a href="../index.html">Home</a></li>
|
||
<li><a href="../projects.html">Projects</a></li>
|
||
<li><a href="../index.html#contact">Contact</a></li>
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
</header>
|
||
|
||
<main class="project-detail">
|
||
|
||
<div class="project-hero">
|
||
<div class="hero-image">
|
||
<img src="../images/project_imgs/api_practice.jpg" alt="API Accessing Practice">
|
||
</div>
|
||
<div class="hero-overlay">
|
||
<span class="project-tag">Golang · REST API · JSON</span>
|
||
<h1>API Accessing Practice</h1>
|
||
<p class="hero-sub">Fetching, parsing, and displaying live data with Go.</p>
|
||
<a class="btn-primary" href="https://git.lewispricedev.com/Rapturate/API_Practice/releases/tag/R1" target="_blank">View Release ↗</a>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="detail-grid">
|
||
|
||
<section class="detail-section">
|
||
<h2>Overview</h2>
|
||
<p>
|
||
A command-line program written in Go that connects to a public REST API,
|
||
retrieves JSON payloads, and displays the parsed data in a clean, formatted
|
||
output. The project demonstrates practical API consumption and Go's standard
|
||
library for HTTP and JSON.
|
||
</p>
|
||
</section>
|
||
|
||
<section class="detail-section">
|
||
<h2>Features</h2>
|
||
<ul class="feature-list">
|
||
<li>HTTP GET requests using Go's <code>net/http</code> package</li>
|
||
<li>JSON unmarshalling into typed structs</li>
|
||
<li>Formatted terminal output with error reporting</li>
|
||
<li>Configurable endpoint via CLI flags</li>
|
||
</ul>
|
||
</section>
|
||
|
||
<section class="detail-section">
|
||
<h2>Tech Stack</h2>
|
||
<div class="tech-pills">
|
||
<span>Go (Golang)</span>
|
||
<span>net/http</span>
|
||
<span>encoding/json</span>
|
||
<span>REST APIs</span>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="detail-section">
|
||
<h2>Challenges & Learnings</h2>
|
||
<p>
|
||
Learning Go's strict typing system alongside JSON decoding required careful
|
||
struct design to match API schemas. This project built confidence in Go's
|
||
idioms — error handling patterns, struct tags, and the standard library's
|
||
power for network tasks.
|
||
</p>
|
||
</section>
|
||
|
||
</div>
|
||
|
||
<div class="project-nav">
|
||
<a href="./project2.html" class="btn-secondary">← Previous Project</a>
|
||
<a href="./project4.html" class="btn-secondary">Next Project →</a>
|
||
</div>
|
||
|
||
</main>
|
||
|
||
<footer>
|
||
<p>© 2024 LewisPriceDev, All rights reserved.</p>
|
||
<div class="social-links">
|
||
<a href="https://www.linkedin.com/in/lewis-price-a79185195/" target="_blank" aria-label="LinkedIn">
|
||
<img src="../images/icons/linkedin-icon.svg" alt="">
|
||
</a>
|
||
<a class="mail-img" href="mailto:lewis.e.price@outlook.com">
|
||
<img src="../images/icons/mail_icon.svg" alt="lewis.price@outlook.com">
|
||
</a>
|
||
</div>
|
||
</footer>
|
||
|
||
</body>
|
||
</html>
|