Introducing the BibleFeed project

I’m definitely a creature of habit. I often tell myself I need to read the bible more, so I could actually know something about my faith. I haven’t been doing this because it has been difficult I never bothered to put it into my routine. I figure if I can integrate the bible with something I read everyday, like Google Reader, I may actually accomplish something instead of just setting up yet another abstract desire in my mind without a plan of action.

The idea for this project is simple. Create an RSS feed of verses from the bible which I can add to Google Reader or any other feed reader. If I read a chapter a day, then over time (around 3 years) I will have read the entire bible.

I’ll admit that there’s another purpose here. I want to practice development with Django and Python. This is not my first Django project. Ok, it’s my second, but the first project is something that a friend and I are slowly working on that I can’t talk about yet.

Just like most software developers, documentation is a weakness of mine, so I will be documenting this project as I go. This helps me practice writing and documentation, and helps you if you have any interest in Django or just how to go about creating an RSS feed of the bible.

On a technical note, I am using Linux, but this can be done with Windows and Mac OS X as well. The steps may vary slightly for those operating systems.

The first place to start is to actually create the project. The steps I’m using will mostly follow along with the official Django tutorial. See http://docs.djangoproject.com/en/dev/intro/tutorial01/.

django-admin.py startproject biblefeed

Create the database, which I’m calling “biblefeed”. I’m using PostgreSQL and the command that follows will be different if you use a different database backend.

createdb -E UTF8 -U postgres biblefeed

Edit the settings.py to match your database settings:

DATABASE_ENGINE = ‘postgresql’ DATABASE_NAME = ‘biblefeed’ DATABASE_USER = ‘postgres’ DATABASE_PASSWORD = ‘xxxxxxxx’

Sync the database to setup default tables and create a super user when prompted.

python manage.py syncdb

Create the application.

python manage.py startapp bible

At this point I will add the project to my subversion repository. You do use a version control system, right?

In the next article I will create the models I need to store bible verses in the database.