My own Journaling App

 

My own Journaling App

Welcome back, everyone, to a new post of mine. This time, I'm excited to share my second project, a Journaling app.


Features:

  • Adding an entry:  You can easily add a journal entry by giving it a title, writing what you want to write about, then clicking the save entry button.
  • Viewing entries: You can easily view all of the entries you ever made, edit them, delete them, and read them. The date and time of when you saved it are also shown.

  • Local: Everything is locally stored, so whatever you write is fully private.


Learnings & Hurdles

This project was more challenging than my last one, but I pushed through and learned alot:

  • CustomTkinter: I used customtkinter as I think it has a better-looking GUI.

  • Python: l used Python for this project and the last one, and as a result of these projects, I know the syntax of Python and how to make functions and basic programming concepts. 

  • Global: At first, one of my functions didn't work. Later, I figured out that it was because the variable I tried calling was outside of the function, that when I learned that there are 2 types of variables. Local and Global, if the variable was created outside of the function, it is a global variable, and you need to use global in your code so it doesn't think that you are making a new local variable.


How does it work?

My journaling app is fairly straightforward, but it uses some essential programming concepts. Here's a quick rundown of its core functionalities. You can see the full 216 lines of code on my GitHub:


  • Buttons: I make use of lots of buttons to save, delete, and edit a journal entry. I also use them to switch between frames. 
  • Frames: I have 3 different frames: the main menu, create entry, and save entry frames. Instead of popping up a new window each time by using the frames with a show frame function, I can switch "screens" in 1 single window.

  • Storage: Everything is stored locally inside a .json file; because of this, restarting the application does not mean that you will have any data loss.


Media:

 
Main screen that pops up when you run the code.

A screen that shows when you press the New Entry button.
A screen that shows when you save an entry or press the All Entries tab



What's Next?

I have a lot of projects I would like to work on. This is just my entry into the world of tech and programming for now., I think I will be working on one of the following :

  • Book tracker app: I think I read more books on average than other people my age. So a book tracker to keep track of how many books I read and which books are on my to-be-read list would be really valuable for me.

  • Budgeting app: I would like to make a budget app where a person can input how much money they spent/gained and with a prediction of how much they will lose/earn that month/year.

  • PC automation: A simple automation tool that turns my PC on at a specific time so I don't have to turn it on manually. I want to do this as I don't think this is too much of a complex project, but still an entry into automation.  

Final Thoughts:

Thank you for spending your time reading this post. Things will probably slow down (yes, even more) when school starts up at the beginning of September, but I will always try my best to work on projects and document them here. For now, I hope you have a good day and see you guys on the next post. Bye byeeee.

Comments

Popular posts from this blog

To Do List Update

My First Python Project: Building a To-Do List from Scratch!