A search engine for the Sri Dasam Granth - the book containing compositions attributed to the tenth Sikh Guru, Sri Guru Gobind Singh.
You might wonder why I decided to make this app even though a few search engines already exist for the Dasam Granth. The reason is that most of those search engines are either buggy or lack important search features. My goal was to create a search engine for the Dasam Granth that offers the same features as the popular search engine for the Sri Guru Granth Sahib available here. I also hope that this app will aid people in the academia researching Sikh texts.
This search engine is made in Flask and utilizes a SQLite database of Sikh Bani and other Panthic texts created by the Shabad OS team. For querying data, I have used the Flask-SQLAlchemy extension for Flask.
Firstly, we have to build the database. I am assuming that you have Node.js installed before beginning this. To do that, go here and clone the Shabad OS database. Next, cd
into the root directory of the database project's local repo and run the following commands:
npm i
npm run build-sqlite
You will get a database.sqlite
file in the build
folder after the commands finish executing. Now, move the database.sqlite
file to the local repo of this project in the database
folder (create the folder if it doesn't exist).
Whew! The database setup is done.
Next, cd
into the root directory of this project's local repo and run the following commands:
For Unix:
pip3 install -r requirements.txt
python3 app.py
For Windows:
pip3 install -r requirements.txt
python app.py
- There's minimal styling in this project and that needs to change; so that's definitely on the checklist.
- Anything that comes to my mind later!
Have a look at the pictures below:
I would like to thank the Shabad OS team because this app wouldn't have been possible without their database. Also, the to_ascii()
and to_unicode()
functions used in this project's codebase have been inspired by the toAscii()
and toUnicode()
functions from another of Shabad OS's repos called Gurmukhi Utils, which is a JavaScript library for converting, analyzing, and testing Gurmukhi strings.