Back to projects
Aug 21, 2024

My Portfolio Landing Page

I realized that a portfolio website is important, so I decided to create it one

It was an old issue that We lacked of documentation for all applications. One day, I wanted to create a documentation of Our common component library. After several meetings We did to decided what framework We would use to create documentation, We decided to use Astro with startlight theme as Our framework.

After trying out Astro, I was so amazed how easy this framework was to use. “What if I used this framework to build my portfolio website”. However, the main challenge was this framework was new for me and It would take time to learn. Out of the box, Astro served many FREE themes for portfolio purpose and the best one I thought was Astro Sphere theme.

Astro is a framework that build the content We wrote as a static files by default. But I would like to add a dynamic content like a blog post to my portfolio website. How? Fortunately Astro has good documentation how to integrate between Astro project and CMS like Strapi (or was It an absolutely good documentation?).

To add dynamic content to my website I decided to use Strapi as my headless CMS. Strapi was a powerfull CMS which can be easily customized. I want to keep website inexpensive and with minimal configuration. So instead of I bought VPS to deploy Strapi, I ran Strapi on localhost and used ngrok to create a tunnel into my localhost.

There is an issue with storage used to store my data. Initially, I used AWS S3 as my object storage. However, after discovering that AWS had abnormal pricing for personal use, I decided to switch AWS S3 to local storage. To ensure my assets can be read by my website, I downloaded all assets and included them as static files during build time.

It seems like I did not need to explain how to integrate Strapi and Astro. As I said before that the documentation is very clear. You can go to Strapi and Astro.