I initially started this project to learn more about modular javascript in vanilla JS. However, it quickly became apparent that developing a project of this scale would be incredibly cumbersome without the use of a frontend framework.
Logically, I restarted the project using React purely due to it's popularity. This was my first exposure to a frontend framework and i've learned alot.
At the moment, I have no plans to integrate authentication or a database of any sort.
- Mobile support
- Creating, editing and deleting tasks and projects
- Overdue task indicators via date colour
- Resizable sidebar navigation
- Local storage
- Light and dark theme
- Toast popups on user interactions
- Enable form submission via "enter" keypress
- Sort by dates & priority
- Automatically sort completed todos
- Make "Today", "Upcoming" and "Completed" buttons functional
- Refactor params to useContext()
- Actually use typescript
I selected the following technologies and component libraries primarily based on their ease of use and aesthetics.
- Framework: React
- Build tool: Vite
- Styling: Tailwind
- Components: NextUI
- Components: shadcn/ui
- Icon pack: Lucide Icons
- Install npm
npm install npm@latest -g
If you want to tinker with the source code here is how you can do so:
- Clone the repo
git clone https://github.com/Mocchu/todo-app-v2.git
- Install NPM packages
npm i
- Run the dev server
npm run dev
Distributed under the MIT License. See LICENSE.txt
for more information.