Over engineering a todo list app - Part 1
Tags: webdev, nextjs, devops, codenewbie
Published: 2023-11-14 15:19:19

## Table of content (for lazy people)
- [Backstory (kind of)](#backstory-kind-of)
- [The need to over engineer](#the-need-to-over-engineer)
- [Technologies used](#technologies-used)
- [Progress report](#progress-report)
   * [Finished stuff](#finished-stuff)
- [Discussion](#discussion)

{%- # TOC end -%}

## Backstory (kind of)
So well, recently I have been thinking to start doing expansion of my portfolio or whatever you call it (most probably resume).

I wanted to add some cool projects, starting from basic ones to advance ones. And ironically I came up with a TODO APP. Like literally, a so called cool, freaking Todo App.

Anyways, enough trash taking lets start some discussion on technical aspects and why my dumb mind wants to over engineer it.

## The need to over engineer
(^^^ Not really)

So I came in the conclusion to create a todo app. I initially thought using simple react app using vite. Add a normal local storage based todo app and done. A new project ready in few days (well I'm too lazy to complete it fast).

But then, I came across some YouTube videos and something that was looking like a simple perfectly planned and about to finished project has changed forever.

So firstly, I came across this YouTube channel named, josh tried coding. And watched some videos which featured, some new tech's and softwares.

^^^ This above thing tempted myself to try these softwares like react-query v5, sonner, shadcn ui, next ui.

And guess what I see that my favorite coding youtuber has uploaded a tutorial featuring appwrite (ofc he's javascript mastery). And at the same time code with Antonio uploaded a video featuring notion clone.

Now what? I got tempted to try all these technologies. Well I chooses to try few of them and somehow I came up with the idea to create or atleast try to create an app which will be somewhat close to todoist but not same or that advance.

Now let's really talk about some technical stuff so that I'll atleast look 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.
- [Live Preview](https://zen-todo-web.vercel.app)
- Screenshot for lazy people
  ![Screenshot preview of project](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vmx2s75sdlz9jr70tyuo.png)

### 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 a great feedback then I'll public the source so everyone will be able to 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 feedbacks (probably critics) on this project in comment.

Make sure to tell if you wanna see the source and help me throughout the process.

I'll be posting devlog kind of blog posts on this project if somehow dev.to's people like this dumb stuff that I'm doing.