Tafaasir : The Holy Qur'an

The App Concept

The Concept of  Tafaasir app is an android mobile application designed for users who want to access and study the Quran without the need for internet connectivity.

 The app has a simple and user-friendly design, making it easy for users to navigate. It contains eight different explanations for each Ayah, allowing users to gain a deeper understanding of the Quran's teachings. 

The app also features an easy-to-use bookmarking feature, allowing users to save their favorite Ayahs for quick reference. Additionally, it has a search bar that enables users to search for specific Surahs or Ayahs within the Quran. The app also provides information about each Surah, including its context, meaning, and history. Lastly, users can share specific Ayahs with others through social media or other platforms.




How To Use IT

  1. Download and install the app on your Android device.

  2. Open the app, the first screen you will see contains a scrollable list of Surahs with the surah name and number.

  3. To read a specific Surah, you can scroll through the list and choose the surah name or use the top search bar to find it by its name or number.

  4. After choosing the surah you want to read, you will be directed to the surah page where you can read the surah in Arabic.

  5. The app provides eight different explanations for each Ayah, allowing you to gain a deeper understanding of the Quran's teachings.

  6. The app also allows you to save your favorite Ayahs for quick reference using the easy-to-use bookmarking feature.

  7. There's no translation provided in the app, as it's designed to be used with knowledge of Arabic.

  8. Enjoy reading and learning with the Tafaasir app.




The Why Behind This App

The reason behind creating the Tafaasir app was driven by my desire to practice and improve my skills as a developer. 

I saw it as a great opportunity to challenge myself and push my abilities to the next level.

 I was particularly interested in familiarizing myself with the use of Local Database like SQLite and Room, as they are essential technologies for any developer. By working on this project, I gained valuable experience and knowledge in these areas.

 Furthermore, the app was a way for me to put my skills to the test and see how far I have come in my development journey. 



Future Improvement

In the future, I plan to make several improvements to the app. 

Future improvements for Tafaasir could include adding a vocal version of the Quran, which would give users the ability to listen to specific verses. Another improvement could be adding a note-taking feature, which would allow users to write notes about the surahs or verses they have read. Additionally, offering more control over font size and adding a dark theme could enhance the user experience and make the app more accessible. These features will be a good addition to the app, as they will make it more user-friendly and more useful for the users.



Technical part


The Process Behind (Story)

Creating Tafaasir, the Quran app, was an exciting and challenging journey. It all began with my desire to practice local data storage using SQLite and Room. I knew that I needed an idea for an app that would allow me to put these technologies into practice, and the Quran app came to mind.

The idea was to create an app that would allow users to read the Quran offline and have access to multiple explanations for each Ayah. I knew that this would be a great opportunity to showcase my skills in local data storage and make an app that would be useful for people in areas with limited connectivity.

I began the implementation of this project and discovered some advanced topics in SQLite Database like Relations, which gave me a powerful way to access all data inside the database in the way I wanted. This was the most enjoyable and challenging part of the process. The ability to create relationships between different tables and access the data easily was a game-changer for the app.

As the development progressed, I also added features such as a simple design, easy to Bookmark, Save your Favorite Ayah, Search Bar to search on Surah or Ayah, Information about each surah, and Shareable Ayat. These features made the app even more user-friendly and enhanced the overall experience.

Finally, Tafaasir was ready to launch, and I was proud of the app that I had created. The Quran app not only allowed me to practice local data storage but also created a tool that could help people to read and study the Quran offline and with multiple explanations.

Creating Tafaasir was an incredible experience, and I am excited to share it in my portfolio as a testament to my skills in local data storage and app development.



The Challenges

Creating Tafaasir, the Quran app, was not without its challenges. One of the main challenges I faced was ensuring that the app was able to work offline and still provide a seamless user experience. This required me to carefully plan and implement the local data storage using SQLite and Room.

Another challenge was navigating the advanced topics in SQLite database like Relations. This was a new concept for me, and I had to spend a lot of time researching and experimenting to understand it fully. But once I was able to master it, it gave me a powerful way to access all data inside the database in the way I wanted, and it was the most enjoyable and challenging part of the process.

Another challenge was to make sure that the app was user-friendly and easy to navigate. I wanted the users to be able to find the information they needed quickly and easily. I accomplished this by adding features such as a search bar, information about each surah, and a simple design that made the app easy to use.

Finally, the biggest challenge was testing and debugging the app. The app had a lot of data and features, and it was important to make sure that everything was working correctly and that there were no bugs. This required a lot of testing and debugging, but it was worth it in the end to ensure that the app was of high quality and ready for launch.

Overall, creating Tafaasir was a challenging but rewarding experience. The challenges I faced helped me to develop my skills in local data storage and app development, and I am proud of the app that I was able to create. I believe that these challenges are a testament to my ability to overcome obstacles and deliver a high-quality product.



Used Technologies
  1. Kotlin: Kotlin is a modern programming language that was used to develop Tafaasir app. 

  2. MVVM Design Pattern: Model-View-ViewModel (MVVM) is a design pattern that was used to structure the code in Tafaasir. It separates the presentation of data from the business logic and allows for a cleaner, more modular and testable codebase.

  3. Coroutines: Coroutines are a powerful feature of Kotlin that allows for the creation of lightweight, non-blocking threads. They were used in Tafaasir to manage background tasks and improve the app's performance.

  4. LiveData: LiveData is a data holder class that follows the observer pattern, it's lifecycle-aware, so it respects the lifecycle of other app components, such as the activity or fragment. This library allows the app to update automatically the UI with the latest data, and also allows to manage the data flow with a more efficient way.

  5. Room Database: Room is a persistence library that was used to store and retrieve data in Tafaasir. It provides an abstraction layer over SQLite and allows for easy and efficient data management.

  6. SQLite Database: SQLite is a lightweight, file-based database that was used to extract handle the Quran Data From the Database. It is a powerful and reliable database that can be easily integrated into mobile apps, and it does not require any server or setup.