Added individual pages with descriptions for each project.

This commit is contained in:
Rapturate
2026-03-23 10:39:30 -04:00
parent 346f868784
commit d744abba86
15 changed files with 993 additions and 118 deletions

104
project_pages/project1.html Normal file
View File

@@ -0,0 +1,104 @@
<!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>Web Scraper / Discord Bot 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/ToDoList Project.jpg" alt="Web Scraper / Discord Bot">
</div>
<div class="hero-overlay">
<span class="project-tag">Golang · Web Scraping · Discord API</span>
<h1>Web Scraper / Discord Bot</h1>
<p class="hero-sub">Automated SHiFT code delivery straight to your Discord server.</p>
<a class="btn-primary" href="https://git.lewispricedev.com/Rapturate/SHiFT_Codes_Bot/releases/tag/R1" target="_blank">View Release ↗</a>
</div>
</div>
<div class="detail-grid">
<section class="detail-section">
<h2>Overview</h2>
<p>
This project combines a web scraper with a Discord bot to automatically surface
SHiFT codes for Borderlands 4. When a user triggers the bot on Discord, it
scrapes the latest codes and returns them instantly — no manual hunting required.
</p>
</section>
<section class="detail-section">
<h2>Features</h2>
<ul class="feature-list">
<li>On-demand scraping triggered by Discord command</li>
<li>Parses and formats code lists for readability</li>
<li>Error handling for network / parse failures</li>
<li>Lightweight — runs on a small VPS or home server</li>
</ul>
</section>
<section class="detail-section">
<h2>Tech Stack</h2>
<div class="tech-pills">
<span>Golang</span>
<span>Discord Go</span>
<span>GoColly</span>
<span>Request/Response</span>
</div>
</section>
<section class="detail-section">
<h2>Challenges &amp; Learnings</h2>
<p>
Navigating the structure of a dynamically rendered page required careful selector
targeting. Integrating the scraper output into Discord's message format taught
clean separation of concerns between data retrieval and presentation layers.
</p>
</section>
</div>
<div class="project-nav">
<a href="../projects.html" class="btn-secondary">← All Projects</a>
<a href="./project2.html" class="btn-secondary">Next Project →</a>
</div>
</main>
<footer>
<p>&copy; 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>