mirror of
https://github.com/timmypidashev/web.git
synced 2026-04-14 19:13:51 +00:00
Finish project content
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 42 KiB |
@@ -1,8 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Discord Bot"
|
|
||||||
description: "A discord bot template"
|
|
||||||
githubUrl: "https://github.com/timmypidashev/pycord-bot-template"
|
|
||||||
techStack: ["Python", "SQlite", "Docker"]
|
|
||||||
date: "2024-01-03"
|
|
||||||
image: "/projects/discord-bot/thumbnail.jpeg"
|
|
||||||
---
|
|
||||||
@@ -7,4 +7,43 @@ date: "2024-10-03"
|
|||||||
image: "/projects/fhccenter/thumbnail.jpeg"
|
image: "/projects/fhccenter/thumbnail.jpeg"
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
A private learning center website that provides information about the organization,
|
||||||
|
student registrations, a newsletter, and full admin login with administrative tools.
|
||||||
|
|
||||||
|
## Key Features
|
||||||
|
* **Server Components**: React Server Components power efficient data flow and server-side
|
||||||
|
rendering.
|
||||||
|
|
||||||
|
* **JWT Authentication**: Built using a custom authentication provider, the entire site is
|
||||||
|
secured with a jwt token schema, including refresh tokens.
|
||||||
|
|
||||||
|
* **Elegant Components**: Constructed using Shadcn and Framer motion, component animations
|
||||||
|
and feel are seamless.
|
||||||
|
|
||||||
|
## Development Highlights
|
||||||
|
Building this site was quite an interesting feat. This was my first foray into react server
|
||||||
|
components, and while they aren't my preferred method of building applications, It was a great
|
||||||
|
experience to fully dive in and make use of them. This was also my first time using Nextjs's
|
||||||
|
new app router, and coming from the page router I really liked the experience. Building out
|
||||||
|
new pages and components was just a pure flow of thought, and I found myself trying to keep up
|
||||||
|
with the ideas coming out of my head rather than coming upon development barriers or softblocks.
|
||||||
|
|
||||||
|
## Challenges & Roadblocks
|
||||||
|
One of the only real challenges I didn't anticipate was caching. In Nextjs 14, caching is handled
|
||||||
|
very poorly, and I found myself struggling to figure out workarounds when handling dynamic data
|
||||||
|
such as the newsletter on the site. Full cache routes were extremely tricky to understand, but
|
||||||
|
after reading some troubleshooting guides it was full sailing ahead.
|
||||||
|
|
||||||
|
Another tricky but fun challenge was implementing authentication using react server components.
|
||||||
|
Since I had never used them up to this point, going about setting up a jwt schema while also trying
|
||||||
|
to ensure api routes don't accidentally leak was tricky, and something I still to this day don't really
|
||||||
|
like when it comes to server components. The fact that a single line of code is responsible for separating
|
||||||
|
server from client with nothing preventing a dev from putting all those components wherever they please can
|
||||||
|
cause quite a mess, so following good file organization conventions was instrumental.
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
Overall, I had a pleasant time working on [fhccenter](https://fhccenter.org). After learning all the new
|
||||||
|
features like server components and the app router, I spent more time messing around with css styling and
|
||||||
|
getting the site to look exactly the way I wanted it rather than debugging silly mistakes, which was
|
||||||
|
refreshing coming from other frameworks.
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ resources to learn and understand the inner workings of a graphics renderer. Res
|
|||||||
[Learn C++ Website](https://www.learncpp.com/learn-cpp-site-index/), and [OpenGL Tutorials](https://www.opengl.org/sdk/docs/tutorials/)
|
[Learn C++ Website](https://www.learncpp.com/learn-cpp-site-index/), and [OpenGL Tutorials](https://www.opengl.org/sdk/docs/tutorials/)
|
||||||
helped me tremendously here.
|
helped me tremendously here.
|
||||||
|
|
||||||
## Challenges and Roadblocks
|
## Challenges & Roadblocks
|
||||||
Some of the biggest challenges I faced was overcoming the knowledge barrier I had on the inner workings
|
Some of the biggest challenges I faced was overcoming the knowledge barrier I had on the inner workings
|
||||||
of graphics rendering and low level programming overall. Thankfuly, being stubborn and obsessed can
|
of graphics rendering and low level programming overall. Thankfuly, being stubborn and obsessed can
|
||||||
sometimes help, and in this case after numerous attempts, I began meticoulouly learning every aspect
|
sometimes help, and in this case after numerous attempts, I began meticoulouly learning every aspect
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ Afterwards, the backend will respond back with a response that our frontend
|
|||||||
will also validate. This allows for a complete multi-directional
|
will also validate. This allows for a complete multi-directional
|
||||||
request -> response type validation!
|
request -> response type validation!
|
||||||
|
|
||||||
## Challenges and Roadblocks
|
## Challenges & Roadblocks
|
||||||
For the most part, there were really no challenges, say for some hiccups here and there.
|
For the most part, there were really no challenges, say for some hiccups here and there.
|
||||||
Probably the most painful parts were creating unit tests for the frontend, and scraping
|
Probably the most painful parts were creating unit tests for the frontend, and scraping
|
||||||
Facebook for a total of 1,384 posts for my client, who wanted the posts imported over.
|
Facebook for a total of 1,384 posts for my client, who wanted the posts imported over.
|
||||||
|
|||||||
@@ -7,3 +7,30 @@ techStack: ["Astro", "Typescript", "MDX"]
|
|||||||
date: "2024-10-03"
|
date: "2024-10-03"
|
||||||
image: "/projects/web/thumbnail.jpeg"
|
image: "/projects/web/thumbnail.jpeg"
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
A portfolio website and resume for yours truly.
|
||||||
|
|
||||||
|
## Development Highlights
|
||||||
|
Building the second version of my website was a dream. This was my first time using Astro,
|
||||||
|
and wow, just wow! For starters, The entire site is ~1,500 LOC (excluding MDX). That is
|
||||||
|
small for the amount of things I was able to accomplish. That aside, Astro's simplicity is
|
||||||
|
unmatched. Coming from React-based frameworks, the ability to just import react components
|
||||||
|
and have them work out of the box was unexpected. And the astro layout files! They are so
|
||||||
|
easy to look at, it just turns on some kind of code ocd within my head. I can't stop admiring
|
||||||
|
it. All this to say, Astro was the perfect choice for my website.
|
||||||
|
|
||||||
|
## Challenges & Roadblocks
|
||||||
|
Although the development process was extremely simple and fun, there really were no challenges,
|
||||||
|
which allowed me to express my creativity to my fullest. Building out Conway's game of life as
|
||||||
|
a canvas background simulation wasn't the first idea I had, and that whole endeavour started as a
|
||||||
|
growing vines simulation similar to that of the old Poptropica flash game loading screens, all the way
|
||||||
|
to a full fishtank simulation like Asciiquarium. But, they just never felt final to me, and this simulation
|
||||||
|
was simple to implement and most importantly very lightweight compared to the other simulations I was
|
||||||
|
working on.
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
The result is deeply satisfying - a personal website that authentically reflects my style.
|
||||||
|
It captures my minimalist desktop aesthetic, down to the font choices and clean layout.
|
||||||
|
After many hours of careful work, I am very proud of what I have created for myself and hope
|
||||||
|
the reader agrees :)
|
||||||
|
|||||||
Reference in New Issue
Block a user