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

![]() |
| A screen that shows when you press the New Entry button. |

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.
Comments
Post a Comment