Inspiration

I built this site because with all the free time many of us have found in the current situation, I find it hard to keep track of what I can and should be doing. I'm not good with keeping physical notes since I find that they're easy to lose and can get dirty and ruined very easily. So I though, hey, what if I could put my todo list on my computer? I don't want to login but I wouldn't want it to be out in the public so let's store all of the data locally on a kind of database. And just like that, this was born.

What it does

Flask ToDo List allows the user to keep track of their todo list and have the satisfaction of being able to cross things off it and remove things from it with ease. It was made so that when you accidentally refresh, it automatically reloads and repopulates the fields for you to continue doing and stop worrying about where you replaced your list.

How I built it

I built this off of practically no Python nor Flask knowledge and used the documentation to put together the website. I found many of the features interesting and found that it would be possible to create pages on different routes using them. I planned out how I wanted the website to look, clean and minimal, and began applying the routes and files in the right places.

Challenges I ran into

Since this was my first time using Python and Flask in a project, I had troubles starting it all up and making it work. I struggled with installing virtual-env, flask, and updating python for the first hour or so, scouring StackOverflow along the way. After that, I realized that I didn't actually know how to use these tools so I took the time to take a short intro to python and Flask course online and came back with some basic knowledge on how to put this together. The last part was finding out how to store the data and make sure it persisted and I came up with the idea of storing the html on the local machine and reserving it hot each time the page reloads, updating it as the list changes and styling accordingly when updating the page from memory.

Accomplishments that I'm proud of

I'm proud of my creation and how it is very much functional and satisfying to use, I tried it out while doing work for class and it worked without any problems, even when I accidentally turned my computer off after slamming my lid down when I went out to get some food for lunch. I had never used Flask nor Python before so I'm glad I didn't make too many difficult to fix mistakes along the way (thank you StackOverflow and friends!) and I'm glad that the data storage functions and the css styles carry over after reloading.

What I learned

From this project alone, I was able to learn how to set up and run a python script as well as the basics of a web server and Flask. I now have a foundation to build off of when it comes to utilizing these tools and I hope to improve on them in the future as I can see how python and Flask can be amazing tools for quick programming and powerful (albeit a bit slower) data processing. It seems to allow for more time to think about what you are going to do rather than how you are going to do it as many of the repetitive tasks are handled for you by libraries and other tools.

What's next for Flask To-Do List

Next, I would like to be able to track the kinds of tasks that have been done and have a breakdown of the user's progress over time using a chart and move the data into a larger database in order to be able to support more than only one person for each server the project runs on by using unique ids that can be easily bookmarked and accessed anywhere, from computers to phones to maybe even smart devices!

Share this project:

Updates