---
contentId: 0d4cb8be-230e-444e-9419-fce9adf0ef6b
title: "Enhancing Engagement: Adding Reactions to My Articles"
description: The initial yet crucial phase of a significant project that will accompany me in the upcoming months. Let's start small by adding reactions to my articles.
date: 2024-10-01
---

Hey there! I hope you're doing well. I'm excited to share with you the beginning of a significant project that will accompany me over the coming months.

## Introduction

In March 2024, I announced the overhaul of my personal website for the fourth time, this time using [VitePress](https://vitepress.dev/). This decision was guided by the desire for a streamlined yet robust tool that allows me to write easily and rapidly while maintaining control over both design and functionality. _VitePress is truly exceptional in this regard._

<CalloutReadMore id="674a3932-aaba-445c-82bb-0896ce3a8e7e"/>

## Exploring new horizons

In June 2024, I embarked on learning [Laravel](https://laravel.com) for two primary reasons.

Firstly, I aimed to broaden my expertise and skills in web development. I want to create applications from the ground up, turning ideas into reality without heavily relying on external services. _And I'm already working on my first SaaS 🤫._

Secondly, I sought more flexibility in my career options. Since the outset of my professional journey, I have predominantly used [Angular](https://angular.dev/) as my main tool. I am eager to explore new avenues as Angular no longer resonates with me.

_I considered [Rails](https://rubyonrails.org/), but once you've experienced the Laravel Documentation and [Laracasts](https://laracasts.com/referral/Barbapapazes), the choice becomes apparent._

## Progressing incrementally

Addressing the first reason demands substantial time and effort. It is a long-term initiative that I perceive as a significant challenge. Although I may not precisely know where to begin or how the journey will unfold, I am clear about my ultimate goal. Like all challenges, the best approach is to break them into smaller, manageable tasks, solve them individually, and then integrate the solutions. _This is the essence of [divide and conquer](https://en.wikipedia.org/wiki/Divide-and-conquer_algorithm)._

I firmly believe that the most effective way to learn is through practical projects. Not just a simple to-do list but something functional with a real purpose.

Meanwhile, I aim to enhance engagement with others. It's much more enjoyable to share and converse, to have interactions. For months, I've been contemplating additions to my personal website but struggled to find a practical, engaging, and useful idea. _Until now._

## Taking the first step

Here we are. I decided to implement the feature to **react to my articles using predefined emojis**, supported by an API developed with [Laravel](https://laravel.com). _And the front-end continues to be powered by [VitePress](https://vitepress.dev)._

<video autoplay loop muted playsinline>
  <source src="https://images.soubiran.dev/posts/enhancing-engagement-adding-reactions-to-my-articles/demo.mp4" type="video/mp4">
</video>

Initially, it might appear as a minor feature, and that's true; it isn't vast, yet for a first step, it suffices. In this process, I engaged with numerous different concepts:

- [Laravel Socialite](https://laravel.com/docs/socialite) for GitHub authentication.
- [Laravel Sanctum](https://laravel.com/docs/sanctum) for API authentication.
- [Laravel Pint](https://laravel.com/docs/pint), [PHPStan](https://phpstan.org/), [Rector](https://getrector.org/) for code quality assurance.
- [Laravel Forge](https://forge.laravel.com/) for deployment.
- [Hetzner](https://www.hetzner.com/) for the server infrastructure.
- Custom Command for database backups and [R2](https://www.cloudflare.com/developer-platform/r2/) for their storage.
- [Filament](https://filamentphp.com/) for the dashboard management.
- 100% test coverage. _Achievable with ease using Laravel and [Pest](https://pestphp.com/). 💫_

And that's about it. _Not too shabby for five days of work!_

Reviewing all the source code of <GitHubLink repo="pinkary-project/pinkary.com" name="Pinkary Project" /> greatly enhanced my understanding of these tools and the process of building a Laravel application.

_One of the significant aspects of this step is laying the groundwork for more features on my website and numerous articles to share what I've learned._

So, what are your thoughts? ⬇️
