gatekka.com

Profile Picture
Published about 1 month ago2 min read

Hi welcome to my site! I'll be writing all the future plans I have for it and keeping notes of my development process in this post.

gatekka.com is built on NextJS and utilizes Strapi as a headless CMS (Content Management System) to serve blog posts like the one you're reading now. I chose Strapi as opposed to another headless CMS like WordPress as it's very flexible when paired with a NextJS project and allows me to explore new ideas during full-stack development.

What I needed from a CMS was the ability to:

  • write posts in Markdown, integrating smoothly with my Obsidian notes workflow
  • design the blog layout from the ground up with technologies like React and Tailwind (which felt like hell in WordPress)
  • manage and fetch data easily through APIs
  • provide learning opportunities in full-stack development

Each CMSes have their use cases of course, but I can recommend these technologies paired together if you have similar goals in mind.

To-do list

  • Add static tv effect between song transition
  • Scroll song details when it overflows. like an infinite marquee effect
  • Scroll on mobile
  • Rate limit API?
  • Create <RecentTracksList /> component
  • Implement Excalidraw on blog posts
  • Implement Webhooks on LastFM API?
  • Revalidate blog posts via webhooks
  • Revalidate all components with webhooks and revalidate tags
  • Proxy via Cloudflare
  • Add emojis to checkbox tasks
  • Protect all API routes with authentication
  • Footnote functionality in blog posts
  • Table functionality in blog posts
  • Setup Strapi preview and draft mode in NextJS
  • Revalidate posts on build and start
  • Strapi background image chooser
  • Create music page and upload music with Strapi
  • Cover image for blog posts
  • Carousel moodboard?
  • Implement Next-Auth and admin panel

Notes

  • Cloudflared tunnels are extremely useful when working with local and external applications

Resources Used

NextJS Caching and Revalidating

Strapi Documentation

date-fns