This website is a project

This website is a project - Teaser

And AI was helping

When building my website, for i believe the third time now. i went for simplicity and ease in maintenance.
So i chose the frameworks i am most familiar with from work, and just created the barebone database and html structures with it.
After most of it was created i asked chatGPT 3.5 to add some styling that would match a programming blog with a dark theme.
The main goal of this website is to present small projects (mostyl games) that i build with typescript and have them easily shared with others to test them out.

Now let's talk about the details and features of the page.


The Framework

As stated before i have opted into some frameworks i am used to from work.
It is "Laravel" for the server-side and "Laravel Nova" for the backend interface.
While i do have my fair share of problems with both (i generally have an aversion against frameworks and packages), i must admit, that it would have taken me probably months to get the same results without them.
And since i was not actually planning on making the creation of the website my main focus,
i went for the faster an easier approach.

As for the frontend i mostly use the "blade"-engine that is shipped together with Laravel.
For interactive components on the website, which it has currently none of, i want to check out "Livewire".

The different Page-Types

Though the primary goal for the website was to present my projects to others, i also wanted to write about the projects and learnings.
Therefor i have two types of pages.
Projects, which provide direct description of some code i wrote and if possible link to a url, where the code can run in the browser.
Pages, where i freely talk about learnings and ideas i have, related to programming.
Projects and Pages are actually quite similar code-wise, only different by the fact, that the Projects are related to "CodeReleases".

For both of those page-type there is also an archive, which simply lists and links all project or pages i have published so far.

Code Release

Code Release

This is for me the most important part.
A "CodeRelease" is actually a zip that has been uploaded in the backend for a certain Project.
This zip should contain an "index.html" and the related resources to run the code for the project.

Usually i have used "Parcel" to compile my typescript projects for the browser.
For that to work i had to run parcel with the "--public-url" flag. 
npx parcel build ./src/index.html --out-dir ./dist --public-url .
Otherwise the resources were always assumed to be on root, instead of relative to my projects url.
But i am thinking on switching to "Vite" as it seemed a bit faster and more reliable at times.
I have not yet tested though if i can achieve the same with it.

The Future

Future Ideas

Regarding the website-code itself, i don't have too many near-future plans.
I do think though that i need to write a dynamic/paginated archive, that can search through pages and projects by name.

For now i will focus on creating content and uploading projects to the page.