portfolio overhaul
This commit is contained in:
20 files changed
+1874
-683
No files matched your search
+80
-209
@@ -1,27 +1,27 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html lang='en'>
|
||||
|
||||
<head>
|
||||
<title>Braeden Sowinski</title>
|
||||
<meta name='description' content="Web portfolio of Braeden Sowinski (McDazzzled)" />
|
||||
<meta name='description' content="Braeden Sowinski's portfolio" />
|
||||
<meta name='author' content="Braeden Sowinski" />
|
||||
<meta name='keywords' content="Braeden Sowinski, McDazzzled" />
|
||||
<meta name='keywords' content="Braeden Sowinski, projects, portfolio, software engineer" />
|
||||
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||
|
||||
<!-- Load CSS -->
|
||||
<link rel="stylesheet" href="./public/css/style.css">
|
||||
<link rel="stylesheet" href="./public/css/projects.css">
|
||||
</head>
|
||||
|
||||
<body class="js-stop-transition">
|
||||
<header class=header>
|
||||
<nav class=nav>
|
||||
<div class=logo>
|
||||
<a href="/" title="sowinski.dev">
|
||||
<img src="https://avatars.githubusercontent.com/u/48144618?v=4" alt=logo style="border-radius:50%;"
|
||||
aria-label=logo height=32>sowinski.dev
|
||||
<header class="header">
|
||||
<nav class="nav">
|
||||
<div class="logo">
|
||||
<a href="./" title="sowinski.dev (Alt + H)">
|
||||
<img src="https://avatars.githubusercontent.com/u/48144618?v=4" alt="logo" style="border-radius:50%;"
|
||||
aria-label="logo" height="32">sowinski.dev
|
||||
</a>
|
||||
<span class="logo-switches">
|
||||
<button id=theme-toggle accesskey=t title="(Alt + T)">
|
||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
||||
stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z" />
|
||||
@@ -43,17 +43,17 @@
|
||||
</div>
|
||||
<ul id="menu" class="nav__links">
|
||||
<li id="home-link">
|
||||
<a href="/" title="Home">
|
||||
<a href="./" title="Home">
|
||||
<span class="active">Home</span>
|
||||
</a>
|
||||
</li>
|
||||
<li id="about-link">
|
||||
<a href="/about" title="about">
|
||||
<a href="./about.html" title="About">
|
||||
<span class="active">About</span>
|
||||
</a>
|
||||
</li>
|
||||
<li id="projects-link">
|
||||
<a href="/projects" title="projects">
|
||||
<a href="./projects.html" title="Projects">
|
||||
<span class="active">Projects</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -61,215 +61,86 @@
|
||||
<p class="menu cta">Menu</p>
|
||||
</nav>
|
||||
|
||||
<!-- Moble Nav Menu -->
|
||||
<div id="mobile__menu" class="overlay">
|
||||
<a class="close">×</a>
|
||||
<button type="button" class="close" aria-label="Close menu">×</button>
|
||||
<div class="overlay__content">
|
||||
<a href="/" title="Home">
|
||||
<span class="active">Home</span>
|
||||
</a>
|
||||
<a href="/about" title="about">
|
||||
<span class="active">About</span>
|
||||
</a>
|
||||
<a href="/projects" title="projects">
|
||||
<span class="active">Projects</span>
|
||||
</a>
|
||||
<a href="./" title="Home"><span class="active">Home</span></a>
|
||||
<a href="./about.html" title="About"><span class="active">About</span></a>
|
||||
<a href="./projects.html" title="Projects"><span class="active">Projects</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<section class="card-body">
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="box">
|
||||
<div class="content">
|
||||
<div class="content-head">
|
||||
<h2>01</h2>
|
||||
<h3>Schedule Generator App</h3>
|
||||
</div>
|
||||
<div class="content-body">
|
||||
<p>
|
||||
A desktop application to interact with my schedule generator algorithm.
|
||||
The algorithm is written in Python and generates master and student timetables.
|
||||
I am proud of the algorithm I devised to solve this complex real-world problem.
|
||||
</p>
|
||||
<a href="https://github.com/SowinskiBraeden/ScheduleGeneratorApp" target="_blank">Github</a>
|
||||
</div>
|
||||
</div>
|
||||
<main class="projects-page page-shell">
|
||||
<section class="projects-hero">
|
||||
<p class="eyebrow">Projects & Updates</p>
|
||||
<h1>Selected work, recent milestones, and technical writeups.</h1>
|
||||
<p class="projects-intro">
|
||||
This section now loads portfolio entries from markdown files so new projects, updates, and achievements can be
|
||||
added without rebuilding the page structure by hand.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section class="content-section">
|
||||
<div class="section-heading">
|
||||
<div>
|
||||
<p class="eyebrow">Portfolio</p>
|
||||
<h2>Selected Projects</h2>
|
||||
</div>
|
||||
<a class="section-link" href="https://github.com/SowinskiBraeden" target="_blank" rel="noopener noreferrer">View Github</a>
|
||||
</div>
|
||||
<div id="projects-grid" class="content-grid">
|
||||
<p class="loading-state">Loading projects...</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="content-section updates-section">
|
||||
<div class="section-heading">
|
||||
<div>
|
||||
<p class="eyebrow">Recent</p>
|
||||
<h2>Updates & Achievements</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="box">
|
||||
<div class="content">
|
||||
<div class="content-head">
|
||||
<h2>02</h2>
|
||||
<h3>School Management API</h3>
|
||||
</div>
|
||||
<div class="content-body">
|
||||
<p>
|
||||
I have developed an API to manage an entire school, keeping track of students and staff
|
||||
details. With the potential to be expanded upon more, I have yet to find the time to
|
||||
further develop this API, but I used this project to deepen my understanding of the
|
||||
programming language Go, API development, and clear documentation.
|
||||
</p>
|
||||
<a href="https://github.com/SowinskiBraeden/school-management-api" target="_blank">Github</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="updates-grid" class="content-grid updates-grid">
|
||||
<p class="loading-state">Loading updates...</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="card">
|
||||
<div class="box">
|
||||
<div class="content">
|
||||
<div class="content-head">
|
||||
<h2>03</h2>
|
||||
<h3>Lines Police CAD</h3>
|
||||
</div>
|
||||
<div class="content-body">
|
||||
<p>
|
||||
<strong style="color:#eb5234;">Lines Police CAD</strong> is a website service built with
|
||||
Node.js utilizing Express.js and the MongoDB frameworks. With over half a million users, I
|
||||
have contributed new features, bug fixes as well as serving general tech support.
|
||||
</p>
|
||||
<div id="links">
|
||||
<a href="https://www.linespolice-cad.com/" target="_blank">View LPC</a>
|
||||
<a href="https://github.com/LinesMerrill/police-cad" target="_blank">Github</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="footer flex-container site-footer">
|
||||
<p>Get in touch with me!</p>
|
||||
<div class="social-icons">
|
||||
<a class="icon" href="https://www.linkedin.com/in/SowinskiBraeden" target="_blank" rel="noopener noreferrer me"
|
||||
title="LinkedIn">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-linkedin"
|
||||
viewBox="0 0 16 16">
|
||||
<path
|
||||
d="M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854zm4.943 12.248V6.169H2.542v7.225zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248S2.4 3.226 2.4 3.934c0 .694.521 1.248 1.327 1.248zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016l.016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225z" />
|
||||
</svg>
|
||||
</a>
|
||||
<a class="icon" href="https://github.com/SowinskiBraeden" target="_blank" rel="noopener noreferrer me" title="Github">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2"
|
||||
stroke-linecap="round" stroke-linejoin="round">
|
||||
<path
|
||||
d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0020 4.77 5.07 5.07 0 0019.91 1S18.73.65 16 2.48a13.38 13.38 0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 005 4.77 5.44 5.44 0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 009 18.13V22" />
|
||||
</svg>
|
||||
</a>
|
||||
<a class="icon" href="mailto:braeden@sowinski.dev" target="_blank" rel="noopener noreferrer me" title="Email">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 21" fill="none" stroke="currentcolor" stroke-width="2"
|
||||
stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" />
|
||||
<polyline points="22,6 12,13 2,6" />
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</footer>
|
||||
</main>
|
||||
|
||||
<div class="card">
|
||||
<div class="box">
|
||||
<div class="content">
|
||||
<div class="content-head">
|
||||
<h2>04</h2>
|
||||
<h3>DayZ Reforger Bot</h3>
|
||||
</div>
|
||||
<div class="content-body">
|
||||
<p>
|
||||
Another Discord bot I have developed for a game, greatly displays my ability to work on
|
||||
large scale projects, with modularity, and expandability in mind. This project focuses
|
||||
on parsing data, storing data, and providing this data in an appealing way to users. With
|
||||
many key features built on top of the parsed data from the game server.
|
||||
</p>
|
||||
<a href="https://github.com/SowinskiBraeden/dayz-reforger" target="_blank">Github</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="box">
|
||||
<div class="content">
|
||||
<div class="content-head">
|
||||
<h2>05</h2>
|
||||
<h3>XP-System</h3>
|
||||
</div>
|
||||
<div class="content-body">
|
||||
<p>
|
||||
An old programming project that introduced me into the valuable world of web applications.
|
||||
The XP-System was a way for teachers to create assignments for students, and for students
|
||||
to gain XP from completing assignments, unlocking levels to make the learning experience
|
||||
more fun and interactive with their peers.
|
||||
</p>
|
||||
<a href="https://github.com/SowinskiBraeden/XP-System" target="_blank">Github</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="box">
|
||||
<div class="content">
|
||||
<div class="content-head">
|
||||
<h2>06</h2>
|
||||
<h3>Portfolio</h3>
|
||||
</div>
|
||||
<div class="content-body">
|
||||
<p>
|
||||
I am not a huge fan of UI design, but I am a fan of minimalistic design, and this portfolio
|
||||
is just that. Simple, minimalistic, and sleek for the eye. Displaying my projects and sharing
|
||||
about me.
|
||||
</p>
|
||||
<a href="https://github.com/SowinskiBraeden/SowinskiBraeden" target="_blank">Github</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer class="footer flex-container">
|
||||
<p>Get in touch with me!</p>
|
||||
<div class="social-icons">
|
||||
<a class="icon" href="https://www.linkedin.com/in/SowinskiBraeden" target=_blank rel="noopener noreferrer me"
|
||||
title=LinkedIn>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-linkedin"
|
||||
viewBox="0 0 16 16">
|
||||
<path
|
||||
d="M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854zm4.943 12.248V6.169H2.542v7.225zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248S2.4 3.226 2.4 3.934c0 .694.521 1.248 1.327 1.248zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016l.016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225z" />
|
||||
</svg>
|
||||
</a>
|
||||
<a class="icon" href=https://github.com/SowinskiBraeden target=_blank rel="noopener noreferrer me" title=Github>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2"
|
||||
stroke-linecap="round" stroke-linejoin="round">
|
||||
<path
|
||||
d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22" />
|
||||
</svg>
|
||||
</a>
|
||||
<a class="icon" href=https://twitter.com/braedensowinski target=_blank rel="noopener noreferrer me" title=Twitter>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2"
|
||||
stroke-linecap="round" stroke-linejoin="round">
|
||||
<path
|
||||
d="M23 3a10.9 10.9.0 01-3.14 1.53 4.48 4.48.0 00-7.86 3v1A10.66 10.66.0 013 4s-4 9 5 13a11.64 11.64.0 01-7 2c9 5 20 0 20-11.5a4.5 4.5.0 00-.08-.83A7.72 7.72.0 0023 3z" />
|
||||
</svg>
|
||||
</a>
|
||||
<a class="icon" href="mailto:braeden@sowinski.dev" target=_blank rel="noopener noreferrer me" title=Email>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 21" fill="none" stroke="currentcolor" stroke-width="2"
|
||||
stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M4 4h16c1.1.0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1.0-2-.9-2-2V6c0-1.1.9-2 2-2z" />
|
||||
<polyline points="22,6 12,13 2,6" />
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Import Mobile.js for mobile nav menu -->
|
||||
<script src="./public/scripts/mobile.js"></script>
|
||||
|
||||
<!-- Disable transitions on webpage load -->
|
||||
<script>document.body.classList.remove('js-stop-transition')</script>
|
||||
|
||||
<!-- Change Theme Scripts -->
|
||||
<script src="./public/scripts/theme.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
|
||||
<script src="./public/scripts/content.js"></script>
|
||||
<script>
|
||||
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||
document.body.className.includes("light") ? (
|
||||
document.body.classList.remove('light'),
|
||||
localStorage.setItem("pref-theme",'dark')
|
||||
) : (
|
||||
document.body.classList.add('light'),
|
||||
localStorage.setItem("pref-theme",'light')
|
||||
),
|
||||
"dark" == sessionStorage.getItem("theme") ? sessionStorage.setItem("theme", "light") : sessionStorage.setItem("theme", "dark");
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
// If storage is supported set theme to light by default
|
||||
if (typeof(Storage) !== "undefined") {
|
||||
if (sessionStorage.getItem("theme") == null || sessionStorage.getItem("theme") == undefined) sessionStorage.setItem("theme", "dark");
|
||||
if (sessionStorage.getItem("theme") == 'light') {
|
||||
document.body.className.includes("dark") ? (
|
||||
document.body.classList.remove('dark'),
|
||||
localStorage.setItem("pref-theme",'light')
|
||||
) : (
|
||||
document.body.classList.add('dark'),
|
||||
localStorage.setItem("pref-theme",'dark')
|
||||
);
|
||||
}
|
||||
}
|
||||
window.PORTFOLIO_CONTENT.initListPage();
|
||||
</script>
|
||||
</body>
|
||||
|
||||
|
||||
Reference in new issue
Block a user