Book Journal

My own Journaling App

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

Features:

  • Tracking books: You can easily track books you have read, are reading and want to read in the future. This is the main feature of the app. I am planning to add more features like a search bar and sorting by writer and genre but those will probably come later along as i am starting school in just a few days.

Learnings & Hurdles

This was biggest(almost 200 lines of code you can view here) and my most challenging project to date, and i am in no way done but this project has been probably the most valuable one to me too in learning:

  • Computational Thinking: With this project i believe i can think more like a computer and break down high level project ideas to low level coding concepts. 
  • Python: I have in no way mastered python but i do think i know enough of the language where i can build almost any app idea with a little bit of googling. I think this specific project has cemented the basics of python into my brain and i feel like i might be ready to take on another coding language. 
  • Saving data locally: At first i didn't know how i would save the data for the different frames i thought about having a single JSON file for each of the 3 options but i discovered that i can put inputs into certain “categories” inside the same JSON file keeping it clean with just one JSON file being created.

How does it work?

I am in no way done with this project as i want to add more features as i have said before, but for now i think it is a complete enough project to release into the world so here is how it work(you can see the exact lines of code on my GitHub):

  • Frames: I make use of 5 frames to make the main menu and then to add books, view books you have read, books you are reading and lastly books you want to read. each frame gets called by a button which calls the show_frame function i created. 
  • Displaying info:The user inputs a book title which then gets written to a JSON file that is created. Then i created a loading function which reads the categories and the book titles inside of there and displays them on the frame and for each frame i had to make it slightly different.(changing the master frame to the frame i want it to show)
  • 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. Also another plus of local storage is complete privacy. You can run this application offline nothing is ever connected to the internet so you can rest assured that even some “spicy” books you might have read are a secret only known by you and you only.

Media:

The main menu:  
The add books frame:
The to be read books frame:
The currently being read books frame:
The books I have read in the past frame:

What's Next?

I have a lot of projects I would like to work on. I have a list on my phone full with projects that keeps on growing and growing :

  • Update: I really want to add more features to this specific project like sorting by book series, writer, search bar and maybe even sort by when you have read them (year). I am in no way done with this project and i really enjoy working on this project.
  • Personal Website: I want to make my own website maybe even buy a domain name for it where i post all of my future blogs, change logs and more. I often get frustrated with blogger.com while creating a blog post and honestly i think i could make it look wayy better if i make my own website. This would of course mean i would have to switch coding languages.
  • PC automation: Yes i still want to do this and honestly it doesn't seem too hard but i will probably work on the website and update this project before i touch this specific project.

Final Thoughts:

Thank you for reading this post. Things will probably slow down (yes, even more) when school starts up in a few days, but I will always try my best to work on projects and document them here(when i switch to my own website ill announce it 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

My own Journaling App

To Do List Update

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