Over Engineering a Todo App - Part 1
Attempting to make a todoist like todo list app
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.
NextJs - as main framework
Appwrite - as backend to manage auth, databse and storage
Next Ui - as main component library
React Query - as main fetching thing
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.
Screenshot for lazy people
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.