My Most Prideful Project

moo
5 min readSep 21, 2024

--

There’s always that one project you remember fondly from your early programming days — a Discord bot, a Chrome extension, or perhaps your first HTML “website” (guilty as charged). These small projects often hold sentimental value, but for me, there was a long stretch of time where nothing stuck. My projects ended up as forgotten folders on my computer, lacking the passion to see them through.

Then Laravel came along…

I stumbled upon Laravel out of sheer curiosity, eager to explore how people built web apps outside the JavaScript maze. It opened up a world of possibilities. Whatever I envisioned, Laravel had me covered.

I began following a course on Laracasts, marking the start of my journey into building meaningful applications. Finally, I was creating things that motivated me to learn more and engage with the community.

Since I started developing with Laravel, I found myself spending less time watching YouTube tutorials and more time writing code and diving into the comprehensive documentation — truly a gift.

The course guided me to build a job board, which turned out to be quite rewarding, though I had low expectations. The real prize was the development process itself. The course is, in my opinion, the perfect starting point for anyone; it covers the framework’s basics thoroughly, complete with practical use cases.

Early Projects

I dedicated time to refining the job board, and I’m quite pleased with how it turned out. You can check it out on GitHub.

After that, I decided to experiment with Livewire — essentially React for PHP. I created a simple journaling app that allowed users to write about their day and rate it, helping them keep track of what made them happy.

But now, let’s talk about my latest project ✨.

The Project Begins

While browsing YouTube, I found a video and realized I’d been enjoying Laravel for three months of consistent learning. I thought, “Why not spend an hour building a little blog web app?”

In just two hours, I had a functional CRUD app for posts and comments, complete with authentication. But I wanted more…

the first version of the app

Adding Features to My Blog

I quickly discovered how simple it was to add features. The first was a search bar to look up published posts.

Next, I implemented a follow/unfollow feature. This required more thought, as it involved setting up many-to-many relationships and a pivot table to track followers. Now, users can see every post from every user by default, but by following someone, their feed is customized to show only that user’s posts

First Major “Wow” Moment with Laravel — User Profiles

Installing Laravel Breeze introduced a dashboard view, which sparked my interest in modifying it. After tinkering with the database models (adding bio and username columns), I successfully created a user profile system.

Shortly after, I tackled the ability to search for users by their username. Thanks to Laravel and Eloquent, this was remarkably simple:

 public function search(Request $request)
{
if (request('username')) {
$users = User::where('username', 'like', '%' . request('username') . '%')->get();
return view('users.search', ['users' => $users]);
}
return view('users.search');
}

Enhancing Profiles

What’s a profile without a profile picture? I delved into Laravel’s file storage documentation and learned how to implement image uploads. Thanks to Laravel Breeze, most of this functionality was generated automatically; I just had to refine the form and backend logic.

Adding Notifications

I realized this blog would be lengthy if I detailed every development step, so I focused on features that truly excited me — like notifications. Laravel provides several types, including email notifications (which my app sends upon signup), database notifications (which show on the frontend), and third-party channels.

I created a sleek notification screen using Tailwind CSS and spent a day debugging a strange issue that was resolved in an unexpected way — sometimes, just undoing changes works wonders!

Final Thoughts and Future Plans

This project has transformed me, instilling confidence and pushing me beyond my comfort zone. Future features I plan to implement include:

  • User followers/following screens
  • Modals to view post likes and navigate to profiles
  • A report feature
  • Admin accounts
  • Markdown support (partial)
  • Full CRUD for comments and replies
  • A landing page
  • Social media login/signup (GitHub and Google)

All this was accomplished in just one week! Laravel made this dream a reality, and I’m excited to revisit my old projects for a full facelift soon.

I firmly believe Laravel is the right tool for my journey. I respect everyone’s choice of tech stacks, but I can confidently say that giving Laravel a chance can be life-changing.

If you’re interested in my project, Justablog is available on GitHub. I’m continually committing to it and would love feedback from anyone interested in Laravel or experienced developers.

Happy coding, everyone!

--

--

moo
moo

No responses yet