Making Progress and Learning Django
Published on: February 27, 2025
I have been working on a new webapp for this site. I've wanted to create an app that'll easily document my library for a long...long time.
I 'm happy to say that it's finally done!
Well, my MVP (minimum viable product) is completed at least. It's able to
1. Store data on Books, Authors, and Quotes
2. Relate books, authors, and quotes to one another
3. Lookup books and authors via the ISBN and create them automatically (if
not already in DB)
4. Document my reading journal (my primary requirement), including when I
read each book, how many time i've read it, etc....
5. Allow me to import my existing reading journal entries from my
spreadsheet.
There are many more features that I would like to add, but the foundation is laid, and it's solid. unfortunately much of this will be hidden behind an authentication wall, but I will be building a few dashboards and other windows into my dataset.
Annoyingly, I hit my api limit for the lookup functionality while testing.. immediately before I migrated the functionality into my prod environment and will have to wait until tomorrow to import my previous records. Such is life! (My existing data will be imported before this post is published.)
Being new to Django and webapp development, I had originally built all of my functionality (blog, feeds, portfolio, pages, etc.) into a single django app. the Books app was my first separate app. I've successfully begun to break apart the previous functionality into separate webapps. The blog was the obvious choice: currently limited in scope, but has potential for expansion (comments, archive, searching, etc). I learned a lot about protecting and migrating my data in the database, during this type of transition. I think pages will be next; mostly because it has the least amout of data to lose.
A few other features that i have added in the past few weeks include:
- RSS/Atom Feeds - I've been getting more and more interested in the old
school internet, and feeds are a big part of that world.
- Scheduling for Pages, Posts, and Projects - I want the ability to write up
blog posts and pages in advance and have them scheduled for release.
- Dynamically constructed pages- I've built out a group of page sections that
I can utilize to create customized content pages. It's overbuilt and
cumbersome... i'm not certain that I will enjoy using them yet. but it was a
learning experience and I don't plan to be updating these static pages often.
- Automated slug generation
- Added metadata tags for SEO and social media.
- Quite a bit of cleanup and bug fixes...
My back log of features and improvements continues to grow. And at some point I need to start filling the site out with some real content... but, progress!
Tags: books data migration django learning news python website
Back to Blog