Over Engineering a Todo App - Part 1

Attempting to make a todoist like todo list app

·

3 min read

Over Engineering a Todo App - Part 1

Backstory (kind of)

Well, recently I've been contemplating expanding my portfolio or, as one might call it, my resume.

I wanted to add some cool projects, ranging from basic to advanced. Ironically, I landed on the idea of a TODO APP. Yes, you heard it right, a so-called cool, freaking Todo App.

Anyways, enough trash talk. Let's dive into some technical aspects and why my seemingly simple mind wants to over-engineer it.

The need to over engineer

(^^^ Not really)

So, I decided to create a todo app. Initially, I thought of using a simple React app with Vite, implementing a basic local storage-based todo app, and calling it a day. A new project ready in a few days (well, I'm too lazy to complete it fast).

But then, I stumbled upon some YouTube videos, and something that seemed like a perfectly planned and nearly finished project changed forever.

Firstly, I discovered a YouTube channel named "Josh Tried Coding" and watched some videos featuring new tech and software.

^^^ The above thing tempted me to try out technologies like react-query v5, Sonner, Shadcn Ui, Next Ui.

And guess what? My favorite coding YouTuber (It's "Javascript Mastery" on YouTube) uploaded a tutorial featuring Appwrite. Simultaneously, "Code with Antonio" uploaded a video featuring a Notion clone.

Now what? I got tempted to try all these technologies. Well, I chose to try a few of them, and somehow I came up with the idea to create, or at least try to create, an app that will be somewhat close to Todoist, but not exactly the same or that advanced.

Now, let's delve into some technical stuff so that I'll at least appear somewhat smart.

Technologies used

So I choose to use following technologies.

  1. NextJs - as main framework

  2. Appwrite - as backend to manage auth, databse and storage

  3. Next Ui - as main component library

  4. React Query - as main fetching thing

  5. React hook form - most important element because whole app will require many forms

And that's it (may use many other useful tools in future, including adding pwa support)

Currently the web app is still in development

Progress report

Project is hosted for everyone on vercel.

Finished stuff

  • Landing page

  • Signup and Login pages

  • Reset Password page

  • Basic project structure

  • App's main ui (in progress)

Well, the source code is currently private. If this post receives great feedback, then I'll make the source public so everyone can interact and help (mostly guide) me through this project.

I'm taking about correcting me if I'm wrong or if I'm writing code with some bad practices. NOT SPOON FEEDINGS.

Discussion

I'm expecting your feedback (probably critiques) on this project in the comments.

Make sure to let me know if you want to see the source and help me throughout the process.

I'll be posting devlog-type blog posts on this project if somehow people like the stuff that I'm doing.