Skip to main content

I Created a Trello Clone (Karaban Style Board) - Frontend and Backend

Hey there, fellow tech enthusiasts! Have you ever had one of those moments when you're itching to learn something new and embark on a project that not only challenges your skills but also proves your knowledge? Well, that was me during a six-month internship, and that's how this journey began.

Trello logo

What Sparked the Idea?

So, what inspired me to dive headfirst into a Trello clone project? It was partly out of curiosity, partly a desire to create something substantial, and partly because I needed to build a project for my internship. And let's face it, Trello, with all its boards, lists, and cards, seemed like a complex system with a lot going on – the perfect challenge to take on.

Unpacking Trello Clones for Newbies

Before we dive too deep, let me clarify what a Trello clone is for those who may not be familiar with it. Trello is like a Swiss army knife for teams – it's a work management system that helps you keep track of tasks. You've got boards that represent teams or projects, lists that act as stages for tasks (think "To Do," "In Progress," "Completed"), and cards to assign and manage work items. It's feature-rich, boasting message threads, file attachments, deadlines, and more.

My Unique Trello Clone Features

Now, about my Trello clone project: I wanted to include as many of these core Trello features as possible while adding a sprinkle of my own "Karaban style" elements. You know, to make it stand out. After all, what's the fun in cloning something without adding your own twist?

The Tech Stack Behind It


So, let's get technical for a moment. You might be wondering what technologies I used for this frontend and backend endeavor. Well, the backend was powered by Python and FastAPI, while the frontend danced to the tune of Vue.js and Bootstrap. And when it came to design, Tailwind CSS played a significant role.

Tech Choices, Explained

Why did I choose these particular technologies? It's simple – they strike a balance between ease of learning and power. Python and FastAPI are beginner-friendly, which was crucial for me. Vue.js and Bootstrap made frontend development a breeze, and Tailwind CSS gave the design the kick it needed.

Navigating the Development Journey

The development journey kicked off with the all-important database design. Thankfully, I found a helpful video on YouTube that provided a basic Trello database structure to build upon. From there, it was all about crafting the backend – setting up authentication, handling members, boards, and lists.

As for the front end, I started with a basic design using HTML and Tailwind CSS. This served as a stress reliever, allowing me to focus on Vue.js coding without the added pressure of designing simultaneously.

Challenges: The Real Learning Moments

Now, let's talk about challenges – because, trust me, there were plenty. From grappling with unfamiliar concepts to debugging errors and dealing with code readability, my codebase was growing rapidly. That's when I realized the importance of proper code structuring.

The DRY Principle Saves the Day

To manage this complexity, I turned to the DRY principle – "Don't Repeat Yourself." I wrote reusable code whenever possible and broke down complex logic into smaller, more manageable pieces. It's amazing how simplifying things can make a world of difference.

Where Can You Dive Deeper?

Feeling curious and want to dig into the code? I've got you covered. You can explore the project's source code and design assets on these GitHub repositories:


- Frontend (Vue.js): GitHub Repository

- Backend (FastAPI): GitHub Repository

- Frontend Design: GitHub Repository

- Live project: Visit website

Stay tuned because there are plenty of code examples and visuals to come in the next articles.

Conclusion: What I Learned

So, what's the big takeaway from this project? It's simple: projects like these are fantastic for learning. I leveled up my skills, discovered the art of structuring code, and became a pro at breaking down complex problems into manageable parts.

The Road Ahead

Now, you might be wondering, "What's next?" Well, I haven't officially launched this project yet – it's primarily a learning endeavor. However, I do have plans to continue working on it, maybe adding more features, refining the user interface, and focusing on performance.

Join Me on This Journey

Before we wrap up, I want to invite you to join me on this journey. Feel free to contribute to the project on GitHub, clone it, modify it, and use it as a learning resource. After all, that's what the tech community is all about – learning, sharing, and growing together.


Comments

Popular posts from this blog

Introducing the GCE Results Web App: Check Your Results with Ease

Introducing the GCE Results Web App for Cameroonian Students Hey there, fellow students! Today, I'm thrilled to share a personal project of mine that I've been working on—a web app designed to make checking GCE results in Cameroon a breeze [] https://gceresults.jeangineer.com/ . As a student myself, I understand the anxiety and anticipation that comes with waiting for exam results. That's why I created this user-friendly web app to help students across the country access their GCE results quickly and conveniently. Let's dive into the features and benefits of this app and how it can transform the way you check your results. Benefits of the GCE Results Checker Website Streamlined Result Checking Made Simple: Say goodbye to long queues and scanning through large pdfs to find your results. With the GCE Results Web App, you can now check your results from the comfort of your own home or anywhere with an internet connection. No more unnecessary stress or wasted time—it's ...

Scraping Complex Websites Made Easy: A Step-by-Step Guide - Part 2

  Demystifying Web Scraping: How to Extract Data from Complex Websites In the previous part , of this tutorial, we did some base work like setting up the spider, collecting products, finding price API, and some other useful lessons. I will advise you to check that out as well. In part 2 of Scraping Complex Websites, we will be seeing how to extract the extra products that are loaded as we scroll down. Some things we will do involve Finding the right request from the network tab copying and formatting the curl request Mimicking the browser request in scrapy Making a post request in scrapy Merging the code This video part has a lot of technical details that i decided to make in form of a video. feel free to check the source code on GitHub