DEV Community

Emad Mokhtar
Emad Mokhtar

Posted on • Originally published at emadmokhtar.com on

Let's build it

idea

unsplash-logo
James Pond

Discovery

After many years of developing web applications, I found my passion is building Web APIs. so why I like it, I like it because I think it's giving your application a power to integrate with other apps (desktop, mobile apps, etc.), other devices (Amazon Dot, Google Home, etc.), sensors (RaspberryPi, Arduino, etc.), and bots (Slack, Telegram, Facebook Messanger, etc.).
Can you feel the power that Web API that can add to your apps?

Let's build something

After I found my passion and start to search for a project to ably what I like and keep developing it. I found that there is no Web API for Quran Tafseer/Translation. What can Quran Tafseer API do for developers? If you want to develop an application for Quran and you want to provide a Tafseer/Translation to the application users, you need to gather the information from more than one source. I found most of the existing applications done it and after that work, app developers will keep this information available to their app only, so I thought of doing this work for the community and provide Tafseer/Translation for free as Web API.

Stages

Stage I

I built the models and the API endpoints using Django and Django REST Framework.

Stage II

I started to search for the sources I can get the Tafseer/Translation from, I found two sources, one source provide .txt file and the second one is not easy to get, but I used Scrapy to get the Tafseer/Translation for their web app.

Stage III

After gathering the Tafseer/Translation I deploy the application, the application and its database were deployed on Heroku, but after 2 days Heroku sent me an email that I reached the maximum records for free tier, so I moved the database to AWS RDS.

Future

My future plan is to make this Web API fast, easy to use, and used globally by many developers.

Help

If you want to help, please spread the words in your community and give me your feedback, and if you want to contribute to the project please visit How to contribute guide

Latest comments (0)