A portfolio website that shows off projects and blog posts. You're on it right now!

A portofolio website featuring the projects and blog posts that I have created and contributed to over the years. It is also a place where I can share my knowledge and skills with others. The website you are currently on is a testament to my dedication to my craft and my passion for creating beautiful and functional websites. It is an ever-evolving platform that I use to showcase the projects I have worked on, the blog posts I have written, and the skills I have acquired over the years. I am constantly striving to improve my work and to stay up to date with the latest trends and technologies.

I am also constantly working to improve this portfolio website by regularly updating it with new projects and by adding new skills that I have learned. I strive to remain at the cutting edge of the latest web development trends and technologies, so that I can provide the best possible experience for my clients. Additionally, I am always open to feedback and suggestions on how I can further improve my portfolio website.

Challenges

The goal of this project is to utilize all free options provided to develop and host this website. Here’s how the workflow works:

  1. Run a Strapi server and Nuxt app locally for development.
  2. Make necessary changes to the app and content in the Strapi dashboard.
  3. Generate a static site with a crawler and context extractor.
  4. Push all changes to the main branch of the Github repository.
  5. A Github action will check if the dist folder has been changed and copy the dist folder into a public repository.
  6. Another Github action in the public repo will deploy the changes to Github Pages.

However, there are some additional problems that need to be addressed. The website contains images that need to be hosted somewhere. Uploading those images to Github will take a long time on steps 4 and 5. The solution is to use a Strapi provider to upload the files to the Interplanetary File System using Filebase or Pinata. Then, we can keep the CID of each image and use Cloudflare endpoints to request each image. This works perfectly for free, except that Cloudflare might block requests with status 429 Too many requests if the user navigates to pages that contain many images.


Project Dates 1/27/2023 Current
Status In Progress
Languages
Frameworks