Deen - An Islamic App

Font Awesome Icons

View on GitHub

Overview

Deen is a comprehensive Islamic application developed using Flutter, designed to serve the diverse needs of the Muslim community. The app provides essential Islamic features and tools to help users in their daily religious practices.

Key Features

  • Prayer times calculation and notifications
  • Quran recitation with multiple reciters
  • Qibla direction finder
  • Islamic calendar
  • Mosque finder using Google Maps API
  • User-friendly interface with Islamic design elements

Technical Details

  • Framework: Flutter
  • APIs: Google Maps API
  • Technologies: Dart, Firebase
  • Duration: Oct 2023 – Dec 2023

Project Highlights

  • Successfully integrated multiple Islamic features in a single application
  • Implemented accurate prayer time calculations
  • Created an intuitive mosque finder feature
  • Designed a user-friendly interface with Islamic aesthetics
  • Optimized for performance and user experience

Project Documentation

Below is the README content from the GitHub repository:

icon DEEN - An Islamic App

It's an Islamic application that contains quran, hadees, azkar.</b>.
Design & Developed in Flutter.

Banner

Flutter version Dart version Deen Version Open Source

Installation steps

Open CMD where you want to clone the project & run the following commands

git clone https://github.com/ashrafulparan2/Deen.git
cd Deen
flutter pub get
flutter run

Splash Screen

Splash screens provide a simple initial experience while Android app loads. They set the stage of an application, while allowing time for the app engine to load the application. Our app also includes a splash screen. Through splash screen users can anticipate a smooth transition, setting the stage for an optimal and engaging app experience.

alt text

Once the first splash screen finishes, a nice-looking second one comes up, adding a bit of flair before quickly switching to the home page in just one second.

alt text

Home Page

Users can easily access all critical features through the homepage’s integrated design. A countdown at the top of the page indicates when the next prayer time is. The collection portion exhibits numerous application functionalities.

alt text

If we scroll this page hadees of the day and image of the day will be shown. The respective references of hadees and image is also given.

alt text

Quran Page

In this page the Holy Quran is illustrated. The page has two section which is Surah and Juz. User can read Surah and also, they can read according to Juz.

alt text

After clicking on any surah, the details of that specific surah will be displayed in the next page.

alt text

Zakat Calculator

In this page zakat calculator was implemented. There are three text boxes in this page for taking input from user. From total saving, total loan and total gold amount the amount of zakat was calculated in taka. If total amount of asset crosses the amount of nisab then the user has to pay the zakat.

alt text

Names of Allah

This page contains the ninety-nine names of Allah (Al Asma ul Husna). User can also know the meaning of that name by clicking on a particular name.

alt text

Clicking on a specific name will reveal the details associated with that particular name.

alt text

Dua Page

In this page dua of different kinds of surah are illustrated. User can recite these duas in their free time.

alt text

Tasbih Page

In this page several kinds of dua are illustrated at first. User can select any dua for counting tasbih. Required count for each round is also given which increase the user experience.

alt text

If we click any dua then the tasbih counter will be displayed. We can also reset the value of tasbih counter.

alt text

Prayer Time Page

In this page prayer times are illustrated according to user’s location. If user change their location prayer time will also change according to their location.

alt text

Qiblah Compass Page

In this page qiblah compass was implemented. The direction of the qiblah is always directed to the qiblah according to the user’s location.

alt text

Hizri Calendar

In this page the calendar is displayed in both English and Hizri format. This page was implemented using hijri library.

alt text

Nearest Mosque Finder

In this page users can find the nearest mosque from their location. All the mosque in 5km radius is shown in this page. Current location of the user is fetched using geo locator of pub get library. All the mosque within the region is shown using a red marker. The information of mosque will be updated if the location of user changed.

alt text

Personal Tracker

In this page user can track the information of the tasbih, hadees, aya, surah and dua. All of these can be added to this page by clicking on the bookmark sign. User can also delete the respective information at any time.

alt text

User Tracker

This special feature requires user registration, ensuring exclusive access to a unique page within our application. This special page employs an innovative approach, revealing the anonymous locations of all users on a map. This strategic use of geo locator library offers users a comprehensive overview of the crowd density around mosques, facilitating a better understanding of potential congestion. The functionality of this page is made possible by the seamless integration of geo locator services. During the user’s login process, the application captures and stores their location information, ensuring real-time accuracy. This gathered data is then securely transmitted to the database, forming the foundation for the dynamic display of user locations on the dedicated page. By leveraging the power of geo locator library, our application goes beyond conventional offerings, empowering users with a practical tool to measure crowd levels around mosques. This unique feature not only enhances user engagement but also contributes to a more informed and efficient navigation experience, aligning with our commitment to providing innovative solutions within the realm of our application.

alt text

How to contribute

  • Fork the repository and clone it locally. Connect your local to the original “upstream” repository by adding it as a remote. Pull in changes from “upstream” often so that you stay up to date so that when you submit your pull request, merge conflicts will be less likely. (See more detailed instructions here.)
  • Create a branch for your edits.
  • Reference any relevant issues or supporting documentation in your PR (for example, “Closes #37.”)
  • Include screenshots of the before and after if your changes include differences in HTML/CSS. Drag and drop the images into the body of your pull request.
  • Test your changes! Run your changes against any existing tests if they exist and create new ones when needed. Whether tests exist or not, make sure your changes don’t break the existing project.
  • Contribute in the style of the project to the best of your abilities. This may mean using indents, semi-colons or comments differently than you would in your own repository, but makes it easier for the maintainer to merge, others to understand and maintain in the future.

Built With