What I built
Minimalist, multilingual personal portfolio.
Built with Strapi and Next.js, hosted completely on DigitalOcean App Platform.
Category Submission:
Personal Site/ Portfolio
App Link
Screenshots
Description
Representative, minimalist, easy to manage and great looking portfolio for briefly presenting your projects that anyone can deploy in minutes. Based on Strapi and Next.js.
With integrated cron runner to execute (not only) wordpress cron jobs.
Currently supported translations are /cs, /en. Switching automatically based on browser preferences.
Link to Source Code
Permissive License
Background
I am a student and freelance developer.
I had static html portfolio, and adding new projects started to get time consuming.
I was thinking about building new portfolio for quite some time.
So I took this challenge as a sign that I had to build a new one.
How I built it
First, I wrote down the requirements:
- modern looking
- server side rendered
- easy to manage cms
- easy translation
- project filtering
I have experience with React, so naturally, I selected Next.js as front-end.
It is well integrated with i18n for translation and has great static-site generation capabalities.
Next decision was cms. Strapi seemed like pretty obvious choice here.
I utilized DigitalOcean’s App Platform to host the next.js app, as well as strapi backend. Each one residing in it's own project.
Additionally, I am using aws lambda in conjunction with AWS SES to send the contact form submissions to my email.
So basically, everything except the email is hosted on DO.
And everything is working great.
This was my first experience with DO App Platform.
Before , I would host front-end on Vercel, and strapi on Heroku.
Now, I can have both parts at one place.
The experience with setting up one-click deployments is great. If I had to create the exact same portfolios for my clients, I would definitely give App Platform another shot.
I learned how easy it can be to create reusable projects. I did not thing that it could be that easy for anyone to setup a project. Now you can just click a single button, set few environment variables, and have your own modern portfolio set-up in minutes.
Additional Resources/Info
I decided to create blank repos before publishing, to prevent the possible leaks of personal data, urls and other string that might have been hardcoded before.
Top comments (0)