0% found this document useful (0 votes)
4 views59 pages

Final Year Report

The 'Al Fahmi Quran Method' project, submitted by Muhammad Rizwan Amjad and Muhammad Asif Jamil, aims to enhance the understanding of the Quran for non-Arabic speakers through a structured mobile application. The app offers word-by-word translation, root word analysis, and contextual learning techniques, addressing gaps in existing Quranic applications that lack educational methodologies. Future enhancements may include AI features for personalized learning and community engagement.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views59 pages

Final Year Report

The 'Al Fahmi Quran Method' project, submitted by Muhammad Rizwan Amjad and Muhammad Asif Jamil, aims to enhance the understanding of the Quran for non-Arabic speakers through a structured mobile application. The app offers word-by-word translation, root word analysis, and contextual learning techniques, addressing gaps in existing Quranic applications that lack educational methodologies. Future enhancements may include AI features for personalized learning and community engagement.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 59

Project Report

Al FAHMI QURAN METHOD


_______________________________

Submitted by
Muhammad Rizwan Amjad (BSSE-071#-B)
Muhammad Asif Jamil (BSSE-098#-B)

Session
(Fall-2021)

Supervised by
Mam Arooj Abid

Department of Software Engineering


Lahore Garrison University
Lahore

I|Page
Al FAHMI QURAN METHOD

A project submitted to the

Department of Software Engineering

In

Partial Fulfillment of the Requirements for the

Bachelor’s Degree in Software Engineering

By

Muhammad Rizwan Amjad

Muhammad Asif Jamil

Supervisor

Mam Arooj Abid

_______________________
Lecturer
Department of Software Engineering

Chairperson

Dr. Waqar Azeem

_______________________
Head of Department
Department of Software Engineering

II | P a g e
COPYRIGHTS
This is to certify that the project titled “Al Fahmi Quran Method” is the genuine work
carried out by Muhammad Rizwan Amjad and Asif Jamil , student of BSSE of Software
Engineering Department, Lahore Garrison University, Lahore. During the academic year Fall-
2021, in partial fulfilment of the requirements for the award of the degree of Bachelor of
Science in Software Engineering and that the project has not formed the basis for the award
previously of any other degree, diploma, fellowship or any other similar title.

Muhammad Rizwan Amjad ____________

Muhammad Asif Jamil ____________

III | P a g e
DECLARATION
This is to declare that the project entitled “Al Fahmi Quran Method” is an original work
done by undersigned, in partial fulfilment of the requirements for the degree “Bachelor of
Science in Software Engineering” at Software Engineering Department, Lahore Garrison
University, Lahore.

All the analysis, design and system development have been accomplished by the undersigned.
Moreover, this project has not been submitted to any other college or university.

Muhammad Rizwan Amjad ________________

Muhammad Asif Jamil ________________

IV | P a g e
ACKNOWLEDGEMENTS
I would like to express my sincere gratitude to Ma’am Arooj Abid, our supervisor, for her
invaluable guidance, continuous support, and assistance at every stage of our Final Year
Project. Her expertise and insightful feedback significantly contributed to the successful
completion of this project. I would also like to extend my appreciation to Dr Manzoor Al
Fahmi, our co-supervisor, for providing deep knowledge related to our FYP and for his
constructive suggestions throughout the research process. I would like to thank all those who
directly or indirectly supported us during the completion of this project

V|Page
DEDICATION
In the name of Allah, the Most Gracious, the Most Merciful.
I dedicate this work to every soul seeking deeper understanding of the Quran—those striving to learn, reflect, and
connect with the Divine message. This app is a humble step toward making the sacred text more accessible,
meaningful, and engaging for all learners. To my mentors and guides, whose insights helped shape this project, and to
my family, whose unwavering support and prayers fueled my journey—this accomplishment belongs to you as much
as it does to me. Finally, I dedicate this work to the Ummah, in the hope that it becomes a source of ilm (knowledge),
barakah (blessing), and hidayah (guidance) for generations to come. May Allah accept this effort and allow it to be of
benefit.

VI | P a g e
Table of Contents

Contents
Chapter 1...................................................................................................................................................1
Introduction..........................................................................................................................................1
1.1 Overview of the Project..............................................................................................................1
1.2 Problem statement......................................................................................................................1
1.3 Target Audience.........................................................................................................................1
1.4 Aim of the project.......................................................................................................................2
1.5 Structure of the solution.............................................................................................................2
1.6 Unmet Need Addressed..............................................................................................................2
Chapter 2...................................................................................................................................................3
Problem Definition...............................................................................................................................3
2.1 Understanding the problem To Understand the problem We are going to discussed few
Points................................................................................................................................................3
2.1.1 Language Barrier to understand the Quran..............................................................................3
2.1.2 Lack of structured learning in Existing Apps..........................................................................3
2.1.3 Dependence of Translation......................................................................................................3
2.1.4 No Integration of language Learning Techniques...................................................................4
2.2 The Need for a solution..............................................................................................................4
Chapter 3...................................................................................................................................................5
Software Requirement Specification....................................................................................................5
3.1 Software Requirements Specification and Literature Survey.........................................................5
3.1.1 Introduction to SRS.................................................................................................................5
3.1.2 Objective of the System...........................................................................................................5
3.1.3 Functional Requirements.........................................................................................................5
3.1.4 Non-Functional Requirements.................................................................................................6
3.1.5 Platform and Technology........................................................................................................6
3.1.6 Literature Survey.....................................................................................................................6
3.1.6 Gap Identified..........................................................................................................................6
3.1.7 Justification of the Proposed System.......................................................................................7
Chapter 4...................................................................................................................................................8
Methodology.........................................................................................................................................8
4.1 Developments.............................................................................................................................8
4.1.1 Development Approach-Agile Methodology..........................................................................8
4.1.2 System Architecture Overview................................................................................................8
4.1.2.1 Presentation Layer (Kotlin)..................................................................................................8
4.1.2.2 Logical Layer (Kotlin)..........................................................................................................8
VII | P a g e
4.1.2.3 Data Link Layer (backend Database )..................................................................................8
4.1.2.4 Key Features.........................................................................................................................9
4.1.2.4.1 Word By Word Translation...............................................................................................9
4.1.2.4.2 Surah Summary.................................................................................................................9
4.1.2.4.3 Interactive Quizzes............................................................................................................9
4.1.2.4.4 Progress Tracker................................................................................................................9
4.1.2.4.5 BookMarkings And Notes.................................................................................................9
4.2 Techniques Used.........................................................................................................................9
4.2.1 Benefits of the Methodology...................................................................................................9
4.3 UI Interfaces 1..........................................................................................................................10
4.3 UI Interfaces 2..........................................................................................................................11
4.3 UI Interfaces 3..........................................................................................................................12
Chapter 5.................................................................................................................................................14
SYSTEM ARCHIECTURE/INITIAL DESIGN................................................................................14
5.1 System Architecture.................................................................................................................14
5.1.1 Overview Responsibilities.....................................................................................................14
5.1.2 User Managements................................................................................................................14
5.1.3 Quran Learning......................................................................................................................14
5.1.4 Data Storage And Retrieval...................................................................................................14
5.1.4 Quiz And Evaluation.............................................................................................................14
5.1.5 Decomposition And Justification..........................................................................................14
5.1.6 High Level Component Collaboration..................................................................................15
5.1.7 Design Pattern........................................................................................................................15
5.1.8 Architectural Design Approach.............................................................................................15
5.1.9 Architecture Design...............................................................................................................15
5.1.10 Main Substances..................................................................................................................15
5.1.11 View Model.........................................................................................................................15
5.1.12 Check Result........................................................................................................................16
5.1.13 Sub System Architecture.....................................................................................................16
5.2 Detailed System Design............................................................................................................16
5.2.1.1 Initial Design 1...................................................................................................................17
5.2.1.3 User Profile Section............................................................................................................18
5.2.1.4 Bookmark Elements...........................................................................................................18
5.2.2 Classification.........................................................................................................................19
5.2.2.1 Definition............................................................................................................................19
5.2.2.2 Responsibilities...................................................................................................................19
5.2.2.3 Constraints..........................................................................................................................19
5.2.2.4 Composition........................................................................................................................19
5.2.2.5 User Interface.....................................................................................................................19
VIII | P a g e
5.2.2.6 Resources............................................................................................................................20
5.2.2.7 Processing...........................................................................................................................20
5.3 Interfaces Export.......................................................................................................................20
5.3.1 Classification.........................................................................................................................20
5.3.2 Responsibilities......................................................................................................................20
5.3.3 Constraints.............................................................................................................................20
5.3.4 Composition...........................................................................................................................20
5.3.5 Uses.......................................................................................................................................20
5.3.6 Resources...............................................................................................................................21
5.4 Uml Diagram............................................................................................................................21
5.4.1 Use Case Diagram.................................................................................................................22
5.4.2 Entity Relationship Diagram.................................................................................................23
5.4.3 Architectural Diagram...........................................................................................................24
5.4.4 Activity Diagram...................................................................................................................25
5.4.5 Sequence Diagram.................................................................................................................26
5.4.6 Components Diagram............................................................................................................26
5.4.7 State Machine Diagram.........................................................................................................27
5.4.10 Data Flow Diagram.............................................................................................................28
5.4.9 Data Flow Diagram...............................................................................................................29
5.4.10 Database Diagram................................................................................................................29
Chapter 6.................................................................................................................................................30
Implementation and Testing...............................................................................................................30
6.1 Implementation.........................................................................................................................30
6.2 Testing......................................................................................................................................32
6.2.1 Testing Types........................................................................................................................32
6.2.2 Testing Tools.........................................................................................................................33
6.3 Evaluation of Core Functionality:............................................................................................33
6.4 Runtime Comparison To Specifications...................................................................................33
6.4.1 Accuracy................................................................................................................................33
6.4.2 Performance...........................................................................................................................33
6.4.3 Scalability..............................................................................................................................34
6.5 Software Deployment and Maintenance...................................................................................34
6.5.1 Maintenance Plan..................................................................................................................34
6.6 Software Quality.......................................................................................................................34
6.6.1 Functional Quality.................................................................................................................34
6.6.2 Structural Quality..................................................................................................................34
Chapter 7.................................................................................................................................................35
Results and Discussion.......................................................................................................................35
7.1 Comprehensive Evaluation of the Solution..............................................................................35
IX | P a g e
7.2 Test Cases.................................................................................................................................35
7.3 Performance Chart....................................................................................................................36
7.4 Pie Chart...................................................................................................................................37
7.5 Line Chart.................................................................................................................................37
Chapter 8.................................................................................................................................................38
Conclusion and Future Work..............................................................................................................38
8.1 Conclusion................................................................................................................................38
8.2 Future Work..............................................................................................................................38
References..........................................................................................................................................39
[5] Al Fahmi Booklet by Dr Manzoor Alfahmi......................................................................................39

X|Page
List of Tables
Table No. Table Title Page Number
1.1 Main Functionality Page 14
1.2 Tools and Technology Page 30
1.3 Core Functionality Page 30
1.4 Testing Types Page 32
1.5 Evaluation of Core Functionality Page 33
1.6 Test Cases Page 34

XI | P a g e
List of Figures

Figure No. Figure Name Page Number

1.1 Splash Screen Page 10

1.2 Login Screen Page 10

1.3 Registration Screen Page 11

1.4 Home Screen Page 11

1.5 Quran Screen Page 11

1.6 Registration Screen (Duplicate) Page 11

1.7 Profile 2 Screen Page 11

1.8 Registration Screen (Duplicate) Page 11

1.9 Quiz Screen Page 11

1.10 Quiz Result Screen Page 11

1.11 Use Case Diagram Page 20

1.12 Entity Relationship Diagram Page 21

1.13 Architectural Diagram Page 22

1.14 Activity Diagram Page 23

1.15 Sequence Diagram Page 24

1.16 Component Diagram Page 25

XII | P a g e
Figure No. Figure Name Page Number

1.17 State Machine Diagrams Page 26

1.18 Class Diagram Page 27

1.19 Data Flow Diagram Page 27

1.20 Database Diagram Page 28

1.21 Performance Chart Page 35

1.22 Pie Chart Page 36

1.23 Line Chart Page 36

List of Abbreviation
XIII | P a g e
Abbreviation Full Form

UI User Interface

XML eXtensible Markup Language

FYP Final Year Project

MCQ Multiple Choice Question

IDE Integrated Development Environment

API Application Programming Interface

CRUD Create, Read, Update, Delete

SRS Software Requirements Specification

UML Unified Modeling Language

MVVM Model-View-ViewModel

DB Database

AI Artificial Intelligence

NLP Natural Language Processing

XIV | P a g e
Abstract
Understanding the Quran directly from its original Arabic text poses a significant challenge
for non-Arabic. Traditional translation method often fails to convey the deeper meaning,
grammar, and structure that is essential for comprehensive understanding. Further, must
exiting Quranic application focus solely on reading features without offering an educational
or structural learning method that attracts to word Quranic language.
To address this gap, the Al Fahmi Quran Method App is designed as an instructive mobile
platform aimed at teaching users the Quran through a structure method of word by word
translation, root word analysis, and contextual understanding. This app introduces a unique
learning experience by breaking down verses into their linguistic components, enabling users
to understand the message of Allah without relying solely on translations.
The core approach of the app includes a database of Quranic verses with detailed explanations
of each word, quizzes for self-assessments, bookmarks, progress tracking, and visual aids to
supports learning. The use of modern technology such as Kotlin and firebase Firestore to
deliver a smooth and scalable experience. The scope of app covers beginners and intermediate
learners who wish to study the Quran with deeper comprehension.
In comparison to existing system, the Al Fahmi Quran Method App stands out by combining
linguistics education with Quranic study, offering a more analytical and engaging approach.
Current app often lacks structured learning paths, grammar explanation and active recall
techniques like quizzes, which are central to this app’s methodology.
In conclusion, this app aims to bridge the gap between reading and truly understanding the
Quran. Future directions include incorporating AI powered features like personalized learning
paths, audio-visual grammar lessons, and community features for the collaborations study and
discussion. This will more enhance the learning experience and help users build a lasting
connection with Holy Quran.

XV | P a g e
Chapter 1
Introduction
The Al Fahmi Quran Method App is designed to address this gap, It introduces a learning
method that simplifies the Quran Pak by using the Word by-word translation approach, root
word identifications, and contextual learning techniques

1.1 Overview of the Project

The Quran is the central religious text of Islam, and understanding its message is a lifelong
goal for Muslims and it should be. However, a large number of people, especially non-Arabic
speakers, face difficulty in comprehending the Quran directly I its original language.
Although many translation apps exist, they often lack a structured approach that helps users
deeply engage with the Arabic text and understand its linguistic beauty.

The Al Fahmi Quran Method App is designed to address this gap, It introduces a learning
method that simplifies the Quran Pak by using the Word by-word translation approach, root
word identifications, and contextual learning techniques. This methods not only improve
understanding but also helps users gradually builds the ability to interpret the Quranic Arabic
on its own. This app is aimed at students, Teachers, scholars, and any Muslim who wishes to
develop a deeper connection with the Quran.

1.2 Problem statement

Despite the availability of many Quran Applications, most of them provide basic features
such as text display, audio recitation, and translation. These tools are helpful but do not teach
how to understand the Quranic language itself. Users remain dependent on translations
without gaining insight into the original Arabic structure, vocabulary, and meanings. This
Creates a major gap for the learners who wish to comprehend the Quran without entirely on
translations.

1.3 Target Audience

This application is intended for:

Non-Arabic speaking Muslims

Islamic studies students and educators

Young learners who wish to begin understanding Quranic Arabic

1|Page
Anyone seeking to study the Quran through a structured and simplified Method

By guiding users through word meanings, grammars, and root word analysis, the app supports
independent Quranic study and builds a solid foundation in understanding Arabic directly
from the source.

1.4 Aim of the project

The main aim of the Al Fahmi Quran Method App is to:

Simplify the process of understanding the Quran directly from Arabic

Enable users to explore the deeper linguistic layers of the Quran

Supports self-paced learning through quizzes, bookmarks, and progress tracking

1.5 Structure of the solution

The app is divided into several modules to support the learning process:

Word-by-word Breakdown: Each verse is broken into individual words with meaning and
grammars hints.

Root word analysis: Show the root letters of the words and related vocabulary.

Surah Summary: Brief overviews for each chapter to give context.

Interactive Quizzes: Reinforce learning through self-assessment.

Progress Tracking: Allow users to monitor how much they have learned.

Bookmarks and Notes: Helps users mark important or difficult ayahs or add reflections.

1.6 Unmet Need Addressed

 This project fills a key educational gap by offering:


 A direct Arabic learning system within a Quranic app
 A method that does not rely entirely on translation
 A blend of technology and education for self-study
 Tools that make Quranic Arabic approachable for the beginners

Unlike other apps that offer reading tools, this app teaches and guides, helping users become
independent learner of the Quran.

2|Page
Chapter 2
Problem Definition
Describe the problem definition according to the project. , a language that many Muslims
around the world do not speak or understand. As a result, a significant portion of the global
Muslim population relies entirely on the translations to comprehend the meaning of the
Quran.

2.1 Understanding the problem

To Understand the problem We are going to discussed few Points.

2.1.1 Language Barrier to understand the Quran

The Quran was revealed in classical Arabic, a language that many Muslims around the world
do not speak or understand. As a result, a significant portion of the global Muslim population
relies entirely on the translations to comprehend the meaning of the Quran. While translation
help conveys the basic message, they often miss the depth, beauty, and linguistic nuances of
the original Arabic text. This limits the spiritual connection and individuals can develop with
Quran.

2.1.2 Lack of structured learning in Existing Apps

Most Quranic application available in the market are designed for the reading, listening, or
searching the Quran. They typically provide features like recitations of the Quran, translation
in Multiples language, tafsir (interpretation), and bookmarking. However, very few offer a
structured learning path that helps users learn the meaning of Arabic words, recognize
grammatical patterns or understand the structure of the Quran sentence. Users are left to
consume the content passively rather than engage with it actively.

2.1.3 Dependence of Translation

Many Users become dependent on translations for life without making progress toward
understanding the original Arabic. This dependence creates a gap between the learners of the
Quran and the core massage of the Quran. As no translations fully capture depth and precision
of the original language. Additionally, many translators may interpret word and phrases
differently, which many lead to confusion or misinterpretation.

3|Page
2.1.4 No Integration of language Learning Techniques

Language learning apps like Duolingo or Memorize have shown the importance of repetitions,
quizzes, visual cues, and progress tracking for effective learning. However, these proven
techniques are rarely integrated into the Quran learning. A modern interactive and gamified
approach is need to help learners absorb and retain Quranic Arabic in a meaningful way.

2.2 The Need for a solution

There is growing interest among Muslims to understand the Quran in its original language.
However, there is no widely accessible app that combine Quranic education with the language
learning tools in a structured, interactive format. Learners need a resource that simplifies
Quranic Arabic and help the gradually build confidence in understanding the verses without
translation.

The Al Fahmi Quran Method App addresses this unmet need by offering:

 Root word analysis


 Grammar hints and explanations
 Surah summaries for revision
 Progress tracking for motivation

This Quranic learning more accessible, engaging and independent for all users,
especially students, Teachers, and self-learners.

4|Page
Chapter 3
Software Requirement Specification

3.1 Software Requirements Specification and Literature Survey

The Software Requirement Specifications (SRS) serves as comprehensive blueprint for the
development of Al Fahmi Quran Method App. It outlines the functional and non-functional
requirements of the system.
3.1.1 Introduction to SRS

The Software Requirement Specifications (SRS) serves as comprehensive blueprint for the
development of Al Fahmi Quran Method App. It outlines the functional and non-functional
requirements of the system, the expected behavior and constraints under which the system
operate. The SRS designed to ensure the clear communication between the deployment team
and stockholders by defining what the app is intended to do.

This app aims to deliver educational and interactive platform that teaches users the meanings
of Quran verses through word-by-word translation, root word analysis, and contextual
summaries, and Quranic Arabic.

3.1.2 Objective of the System

Provide a digital platform for studying the Quran using the Al Fahmi Quran
Method.Breakdown each verse into individual words, offering translations and root
meanings.Incorporate quizzes and tracking to aid memorization and learning.Present content
in a user-friendly and visually interface.

3.1.3 Functional Requirements

User Registration and Authentication

User should be able to sign up, log in, and manage their profiles securely.

Display of Quranic Surahs and Ayahs

Users should be able to browse Surahs, read verses, and see word-by-word translations.

Interactive learning Tools

Quizzes, flashcards, and MCQs should be available for self-assessment.

5|Page
Progress Tracking

Users should be able to track their learning history and quiz scores.

Bookmark and Notes

User should be able to bookmark ayahs and write personal reflections or notes.

3.1.4 Non-Functional Requirements

Usability: The app should be easy to navigate, even for first-time users.

Performance: The app should load Surahs and Quiz content quickly.

Scalability: The System should allow for further addition, like new quiz types or formus.

Security: User data must be securely stored and transmitted, especially for authentication.

3.1.5 Platform and Technology

Frontend: Kotlin with Jetpack Compose (Android)

Backend: Firebase (Firestore database and Authentication)

Tools: Android Studio, GitHub, Figma (for UI design)

3.1.6 Literature Survey

Existing Solutions Reviewed

Several Quran applications are widely available, including:

 Quran Majeed: Offers text, Audio, and translations, but lacks learning features.
 Tanzil.net: A clean interface with multiple translations but no learning system.
 Ayat App: Focuses on verse and tafsir with minimal interactions.

These Applications are useful for recitation and reading, but they do not focus on educational
interactivity, and language learning.

3.1.6 Gap Identified

 The key missing features in existing apps include:


 Structured word-by-word learning
 Gamified learning (Quizzes, flashcards)

6|Page
 Independent learning and understanding without relying on translations
 Educational design for self-paced study

3.1.7 Justification of the Proposed System

The Al Fahmi Quran method App fills this critical educational gap by combining:

 Classical Arabic teaching methods


 Digital learning tools
 Quranic content structured for learners

This approach promotes long term retention, user engagement, and independent
comprehension, especially among non-Arabic speakers.

7|Page
Chapter 4
Methodology
The methods, approaches, tools, techniques, algorithms, or other aspects of the solution are
sufficiently discussed with sufficient details and supporting figures.

4.1 Developments

The development of the Al Fahami Quran Method App follows a structured approach to ensure
that both the technical and educational goals of the project are achieved effectively. The
methodology is user-centered, iterative, and supported by modern tools and frameworks. This
chapter outline the overall development process, approaches, and tools used in the
implementation.

4.1.1 Development Approach-Agile Methodology

We used an agile Development Approach for this project, which allowed for:

 Iterative development and testing of features


 Regular feedback from potential users (students, teachers)
 Frequent revision and updates based on user experience

Each sprint focused on a specific set of feature (e.g. UI layout, Firebase integration, quiz logic),
allowing us to gradually build and refine the app.

4.1.2 System Architecture Overview

The system is divided into three main layers:

4.1.2.1 Presentation Layer (Kotlin)

Built with Jetpack Compose for dynamic and modern UI design.

Displays Quranic text, word meaning, quizzes, summaries.

Handles user inputs (e.g. quiz answers, bookmarks).

4.1.2.2 Logical Layer (Kotlin)

Processes logic for quizzes, progress tracking, and verse analysis.

Handles the interaction between frontend and database.

4.1.2.3 Data Link Layer (backend Database )

Stores Quranic data, word meaning, root words, users progress, and notes.

8|Page
Allows for real-time sync and secure cloud storage.

4.1.2.4 Key Features

4.1.2.4.1 Word By Word Translation

Quranic verses are fetched from Firebase. Each word is displayed individually with English/Urdu
translation, Root word is analysis, Grammar hints (if enabled)

4.1.2.4.2 Surah Summary

Each Surah includes a concise summary.

Stored as text objects in Firestore and Fetched with the Surah data.

4.1.2.4.3 Interactive Quizzes

Quizzes are generated on the base of user’s studied words. Including multiple-choice question
(MCQs) and fill in the blanks. Quiz results are stored for the progress tracking.

4.1.2.4.4 Progress Tracker

Tracks Surah studied, Quiz Numbers and course completion. Data is stored per user in Firebase
and retrieved upon login.

4.1.2.4.5 BookMarkings And Notes

User can bookmark Ayahs and attach notes and can save data is synced with the user’s unique
Firebase ID.

4.2 Techniques Used

Language Learning Principles: Contextual association, repetition, interactive quizzes

Gamification: Completion badges, Progress bars, and quiz scores encourage user engagement.

Minimalist UI: Clean and attractive design using Jetpack Compose to avoid distractions during
study.

4.2.1 Benefits of the Methodology

Encourages iterative feedback and improvement in the system

Enables user-specific data storage and retrieval

Combines educational theory with advanced development and implementation

9|Page
Ensures scalability for future features (e.g., leaderboard, voice support).

4.3 UI Interfaces 1

Figure 1.1 Splash Screen Figure 1.2 Login Screen

10 | P a g e
11 | P a g e
4.3 UI Interfaces 2

12 | P a g e
13 | P a g e
Figure 1.3 Registration Screen Figure 1.4 Home Screen

14 | P a g e
4.3 UI Interfaces 3

15 | P a g e
16 | P a g e
Figure 1.5 Quran Screen Figure 1.6 Registration Screen

17 | P a g e
Figure 1.7 Profile 2 Screen Figure 1.8 Registration Screen

Figure 1.9 Quiz Figure 1.10 Quiz Result

18 | P a g e
Chapter 5
SYSTEM ARCHIECTURE/INITIAL DESIGN
System Architecture / Initial Design is the process of defining the overall structure, components,
and their interactions within a software system. It serves as a blueprint for system development,
guiding how various parts of the system will be built, connected, and function together to meet both
functional and non-functional requirements.

5.1 System Architecture

The Al Fahmi Quran to Give user an educational platform for understanding Quran by combining
Arabic recitation. To cover up all the functional and Non-Functional Requirement properly. The
system is designed in such a way that provide modularity and scalability.

5.1.1 Overview Responsibilities

Overview and Responsibilities: The Application in divided into Four Main Parts

5.1.2 User Managements

1. Handel User Registration and authentication


2. Use Firebase Authentication for security

5.1.3 Quran Learning

1. Core Module (Audio playback, Arabic versus)


2. Verse by verse Translation on Clicking

5.1.4 Data Storage And Retrieval

1. Use of Firebase Authentication and Real time Database


2. Firebase storage for progress tracking, bookmarks and quizzes record also to store user
profile data.

5.1.4 Quiz And Evaluation

1. Multiple Choice Questions for Studied content


2. Store and Evaluate Quiz

5.1.5 Decomposition And Justification

1. Presentation Layer: XML layout Define UI including Arabic Text, Button etc. Kotlin
Activity handles Logic and Respond according to the XMl.
2. Data Link Layer: This Include services to interact with Firebase.
3. Application Layer: It manage logic like quizzes and Bookmarks.

19 | P a g e
5.1.6 High Level Component Collaboration

All components communicate via well-defined Kotlin interfaces, coroutines, and Firebase SDK
callbacks to maintain responsiveness and ensure synchronization.

5.1.7 Design Pattern

1. Singleton Pattern: It uses API for play back control.


2. Repository Pattern: Enhancing Maintainability and Abstract Data access.
3. Model View -View Model : Applied for UI logic Separation.

5.1.8 Architectural Design Approach

The design of the al Fahmi Quran method - App was developed using a modular, layered
architectural approach. This design separates the system into distinct layers, each with its own
specific tasks and responsibilities. The primary benefit of this design is to divide concerns that
enable independent development, maintenance, and scalability of different modules like user
interface (UI), business logic, and data layers. Firebase Firestore Integration. Jetpack component
includes reactive user interface update observer pattern.

5.1.9 Architecture Design


Architecture is a creative process that includes multiple phases, one that considers space,
geometry, and artistry. The architectural design contains a diverse range of disciplines that
focuses on more than just construction.

5.1.10 Main Substances

The system was divided into the following main substances:

1. Presentation layer: Created in Kotlin


2. Responsible for rendering the user interface, processing user input, and managing
application status.

5.1.11 View Model

Discuss with the View Model layer to receive and modify data

1. Business Logic Layer (ViewModel + Application Case).


Line breaks are the most important and do not accept methods that do not comply with thi
s requirement.

20 | P a g e
5.1.12 Check Result

1. Handles user registration and authentication using FireBase authentication.


Encrypt and protect user sessions.
2. Data layers created with Fire-based Firestore and Fire-based Storage.Take over the ong
oing storage of Quran content, user progress, bookmarks and quiz history.
Cache is used to limit the read process.
3. Analysis and Feedback - Subsystem.
We pursue the behavior and use of user features.
Allows users to identify errors and provide entries.

5.1.13 Sub System Architecture

These are the Main Parts:

Subsystem Responsibilities

User Interface Xml(UI) ,Backend Logic Kotlin

Authentication Firebase Authentication

Quran Data Quran Text And Arabic, Translation

Quiz Generate and Stored Data

Notification Handle Remainers

Table 1.1: Main Functionality

5.2 Detailed System Design

System Software Components:Each component is explained with its initial design, function
purpose, and function pre- and post-conditions, including parameters and constraints.

5.2.1.1 Initial Design 1

This component retrieves Quranic Arabic verses and their respective translations from Firestore or
Realtime Database. It executes at the launch of the corresponding screen and supports verse-by-
verse rendering.
21 | P a g e
Functions: getVerses(surahId: String): List

Aim: Retrieve a list of verses for a given Surah.

Pre-condition: surahId: String — ID or name of the Surah to fetch.

 Constraints:Cannot be null or empty.


 Must match the IDs stored in the database.

Post-condition:

 Returns a list of Verse objects with:


 Arabic text
 Translation text
 Verse number

In case Surah Id is invalid or does not exist, returns an empty list or error 5.2.1.2 Audio Playback
Component

Initial Design: Plays audio for each verse when clicked. Streams from Firebase Storage or a
hosted server using multiple Playback services like Media Player.

Functions: Play Verse Audio (verse Id: String): Boolean

Aim: Play the audio of a given verse upon selection.

Pre-condition:

Verse Id: String — Unique string identifier for the verse.

Constraints:

 Must map to an existing audio file URL.


 The URL must be accessible to the public or require an authentication token.

Post-condition::

 Begins playing the audio.


 Returns true if the playback starts without any issues, false if there is a network failure.

22 | P a g e
5.2.1.3 User Profile Section

The initial design of the application included features to handle user information such as their
name, email address, password, and profile picture. Enables updating and editing through firebase
authentication and Firestore.

Functions:: Boolean:

 The main idea of this paragraph is that the author wants to persuade the reader to adopt a
vegan lifestyle.
 Change the user's information in the profile.

Pre-condition:: String name = "new display name";

Constraint: cannot be null.

 Email: string — new email address.


 string — url of the new profile picture.
 must be a valid image link (http/https).

Post-condition::

 Updating firestore and firebase authentication.


 Returns true if the email is successfully sent, false if there is an issue such as a clash with
another email or a network problem.

5.2.1.4 Bookmark Elements

User can save verses for later use. Information stored in a subcollection within the user's
document in Firestore

Functions::

Addbookmark(userid: string, verseid: string): boolean.

Purpose::

Save a bookmark for a specific verse for a particular user.

Pre-condition::

 string — firebase auth uid.


 User must be authenticated to access this content.

23 | P a g e
 string — identifier of the verse.

Constraint: must be present in verse collection.

Post-condition::

 Create bookmark in firestore.


 Returns true if the bookmark is saved, false if it has already been bookmarked or if there
is an error.

5.2.2 Classification

Types Class Based/Component

5.2.2.1 Definition

This module is in charge of creating, distributing, and assessing quizzes that are based on chosen
surahs and words from the Al Fahmi Quran method.

5.2.2.2 Responsibilities

 Create quizzes programmatically.


 Record quiz attempts and scores.
 Compare answers with correct meanings.
 Persist results in Firebase.

5.2.2.3 Constraints

 Works offline with cached questions.


 Prevent Resurfacing of the Same Inquiries during a Single Session.
 Must load from firebase only if updated.

5.2.2.4 Composition

 QuizGenerator.kt (class)
 QuizModel.kt (data class)
 QuizViewModel.kt (state management)

5.2.2.5 User Interface

 Uses quran data module to retrieve ayahs.


 Writes results to firebase repository.
 Used by quiz screen UI

24 | P a g e
5.2.2.6 Resources

 Firebase Firestore

5.2.2.7 Processing

 Quizgenerator generates a quiz from a given list of words.


 Creates multiple-choice options using distractors.
 Shuffles and sends to ui.
 Listens for user responses and assesses.

5.3 Interfaces Export

Verse Retrieval Service: A Comprehensive Overview.

5.3.1 Classification

Service module for retrieving quranic verses and translations.

Provides access to quranic content stored in firebase.

5.3.2 Responsibilities

Query quranic data based on surah or juz.

Return verse objects with metadata (e.g., verse number, translation).

5.3.3 Constraints

Data should be aligned with firestore model.

5.3.4 Composition

Verse.Kt (data class).

Verserepository.Kt (contains fetch methods).

5.3.5 Uses

Firestore is a NoSQL document database that stores data in JSON-like documents with dynamic
schemas. It is a scalable, flexible, and high-performance database that supports various operations
such as CRUD, aggregation, and indexing.

UI component to display verses.

5.3.6 Resources

Firestore collection: quran/surahs/{surahid}/verses.

25 | P a g e
Processing:: Asynchronous retrieval using coroutines.

Categorizing, arranging, or limiting the results.

Interface::Kotlin is a statically typed programming language that is designed to be intuitive,


modern, and low-overhead. It is compatible with Java and provides many of the same features,
making it a great choice for developers.

Suspend fun getverses(surahid: string): list. Kotlin is a statically typed programming language that
is designed to be intuitive, modern, and low-overhead. It is compatible with Java and provides
many of the same features, making it a great choice for developers.

// verse data class

Data class verse(.

string: int val = 0;

Comments in code:

Kotlin is a statically typed programming language that is designed to be intuitive, modern, and
low-overhead. It is compatible with Java and provides many of the same features, making it a
great choice for developers.

Copy code.

// fetch all verses for a given surah from firestore

list {

// returns: list of verses or throws firebasefirestoreexception

5.4 Uml Diagram

1. Use case Diagram


2. ER Diagram
3. Architectural Diagram
4. Activity Diagram
5. Sequence Diagram
6. Component Diagram
7. State Machine Diagram
8. Class Diagram
9. Data Flow Diagram
26 | P a g e
10. Database Diagram

5.4.1 Use Case Diagram

Figure 1.1 Use Case Diagram

27 | P a g e
5.4.2 Entity Relationship Diagram

Figure 1.2 Entity Relationship Diagram

28 | P a g e
5.4.3 Architectural Diagram

Figure 1.3 Architectural Diagram

29 | P a g e
5.4.4 Activity Diagram

Figure 1.4 Activity Diagram

30 | P a g e
5.4.5 Sequence Diagram

Figure 1.5 Sequence Diagram

5.4.6 Components Diagram

Figure 1.6 Component Diagram

31 | P a g e
5.4.7 State Machine Diagram

Figure 1.7 State Machine Diagram

32 | P a g e
5.4.10 Data Flow Diagram

Figure 1.7 Class Diagram

33 | P a g e
5.4.9 Data Flow Diagram

Figure 1.8 Data Flow Diagram

5.4.10 Database Diagram

Figure 1.9 Database Diagram

34 | P a g e
Chapter 6
Implementation and Testing
Implementation is the phase where the actual coding or programming of the software takes
place based on the design specifications.
Testing is the phase where the developed system is evaluated to ensure it works correctly, is
bug-free, and meets the specified requirements.
6.1 Implementation

We are Using Kotlin Programming language to build Our App AL Fahmi Quran for Android
Development and using Firebase as Backend to store and authenticate User data. We are Following
Layered Architecture pattern so it Become more easy to maintain and Flexible To work.

Tools And Technology

Category Tools & Technologies Purpose/Usage

Programming Language Kotlin Android app development


using XML for UI.

Backend Services Firebase (Authentication, User authentication,


Firestore, Storage) database, and file storage.

Development Environment Android Studio Integrated development


environment (IDE) for
Android.

Image Loading Glide Efficiently loading and


displaying profile pictures.

Version Control Git Managing and tracking code


changes.

Testing Tools Postman / Firebase Emulator API and cloud function


Suite testing.

Documentation & Design Draw.io Diagram modeling and


35 | P a g e
documentation.

UI Framework XML (with View-based Traditional UI development


system) for Android apps.

Table 1.2: Tools And Technology

Core Functionality:

Features Description

Verse by Verse Display Shows each verse of the Quran along with its translation.

Audio Playback Allows users to listen to the audio recitation of individual verses
upon clicking.

User Registration and Enables users to create accounts and log in to the application.
Login

Progress Tracking (Per Records and displays each user's progress in studying each
Surah) Surah.

Quiz Attempting Allows users to take the quizzes created by Admins

Score Calculation Automatically calculates and displays the score after a quiz
attempt.

Profile Image
Upload/Update Allows users to upload and update their profile pictures.

Profile Management Enables users to manage their profiles.

Role-Based Access Implements different levels of access for Admins and regular
Users.

36 | P a g e
Admin Panel Provides a dedicated interface for Admins to create and manage
quizzes.

Table 1.3: Core Functionality

6.2 Testing

 Testing is most crucial part of software development Lifecycle where we can Take a test
of Over all functionality of the software or AL Fahmi Quran App this include Some types
of Testing. he process of evaluating a system or product to identify defects and ensure it
meets specified requirements.

 Purpose: To find errors, improve product quality, and ensure the system is reliable and
meets user needs.

6.2.1 Testing Types

TYPES Description

Unit Testing Tested core logic functions, like score calculations and
data parsing.

Firebase Emulator Ensure Firebase Rules With affecting user data

Manual Testing Checking of overall workflow

Integration Testing Tested Firebase integration, including Auth and


Firestore reads/writes

Table 1.4: Testing Types

6.2.2 Testing Tools

 Junit For Kotlin Tests


 Espresso For UI Test
 Firebase Test lab for Cross Device texting.
37 | P a g e
6.3 Evaluation of Core Functionality:

Functionality Requirement Evaluation Outcome

Verse Display Display Arabic + Translation Fully functional

Working on single-click
Audio Play Play audio per verse click
basis

Quiz System Surah-based quiz creation and attempt Score calculated and stored

Progress stored per user-


Progress Tracking Track verse completion
surah

Authentication Role-based login Verified with Firebase rules

Admin-only access
Admin Panel Quiz and content management
enforced

Table 1.5Evaluation of Core Function

6.4 Runtime Comparison To Specifications

During Runtime, if there Any unmatched Specification may use if nay it should be due to Firebase
Features Limitation.

6.4.1 Accuracy

 Authentication in Quran data Such as Translation and Verse Should be mapped accurate.
 Quiz answer should be check properly and counted properly.

6.4.2 Performance
 Glide is used for Picture Caching and loading
 Minimal UI rendering using Separate Xml and Kotlin Code
 Optimized for Low Latency

6.4.3 Scalability
 Firebase control Large Number of users at the same time
 Modular Architecture Manages Features Like Book Marks

6.5 Software Deployment and Maintenance

38 | P a g e
The App deployed Using testing on Google Play Store and managed according to the user feedback

1. Future Deployment Include


2. Continuous Integration
3. Crashlytics for real time database
6.5.1 Maintenance Plan
1. More language Translation option
2. Managing Quizzes According to the user preference
3. Optimizing Firestore Queries

6.6 Software Quality

6.6.1 Functional Quality


 Quran Navigation, Translation, Audio and Quiz (Requirements)
 Target Audience
6.6.2 Structural Quality
 Clear Separation of Ui and Kotlin Code
 Documentation And comment Always include in Source File

Chapter 7
Results and Discussion
7.1 Comprehensive Evaluation of the Solution

A comprehensive evaluation of the solution is presented with supporting figures and graphics. a
thorough assessment of the Al Fahmi Quran app turned into performed to make sure alignment
with the authentic specifications, encompassing both practical and non-practical necessities.
The gadget underwent..thorough checkingout using a properly-defined testing strategy.
This checking out method combines unit checks integration exams
39 | P a g e
and user interface tests to make certain the accuracy, performance, and ease of use of
all important modules. The test instances were completed using junit, using unit-
degree logic tests, the firebase emulator suite for cloud operations, and coffee for
UI float verification. along with the technical specs and evaluation of the
app, these visual fashions confirmed that the app is designed
to offer the supposed functions. additionally, performance benchmarks and development trying
out protocols are in location to ensure that the system is each powerful and reliable, measuring its
accuracy, efficiency, and scalability

7.2 Test Cases

Test Test Name Input Expected Output Status


Case
ID

01 User Registration Name, Email and Account Created Done


Password Successfully

02 Login Emali and Login Successful Done


Password (Valid)

03 Track Progress User Data Progress Update in Done


database

04 Admin Create Quiz Title, Question, Quiz Result Saved in Done


Objectives database

05 View Surah List App Launched List of Surah displayed on Done


Screen

06 Verse By Verse Select Surah Arabic and Translation Done


Translation both At the same time

07 Play Verse Audio Tap on Verse Play Corosponding Audio Done

08 Display User Profile Logged in User Name Email And Profile Done

40 | P a g e
Picture

09 Logout Tap on Logout Session Cleared Return To Done


Login

Table 1.6: Test Case

7.3 Performance Chart

Figure 1.10 Database Diagram

Figure 1.11 Database Diagram

41 | P a g e
7.4 Pie Chart

Figure 1.12 Database Diagram

7.5 Line Chart

Figure 1.13 Database Diagram

Chapter 8
Conclusion and Future Work
8.1 Conclusion

The Al Fahmi Quran has a Specific goal to enhance Quranic understanding through Structural
Approach and Used Friendly Method. This App cover all the Gap discussed in Introductions. By
Including a Features Such as:

1. Arabic and Translation Verse by Verse Display

42 | P a g e
2. Audio Play Back
3. Quiz Module For Testing User
4. User Progress

The App provide Well rounded Learning Experience

System testing was conducted using a combination of unit testing, integration testing, and
UI/UX walkthroughs, covering all use cases. The application met functional and non-functional
requirements, including responsiveness, usability, and performance. The app was evaluated by
test users, and feedback showed improved engagement and retention when compared to
traditional Quranic study apps.

8.2 Future Work

Although the app is functional and fulfills its Principal Objectives, several future improvements
are proposed to increase its reach, depth, and impact:

 AI-Based Tafsir Assistance: Implement NLP for contextual tafsir suggestions based on
user Queries .Gamification : Introduce reward-based systems to encourage consistent
learning and interaction. Offline Mode : Enable partial offline access for users with
limited internet connectivity.

 Teacher/Student Dashboard: Create admin-level dashboards for tracking group learning


sessions .Voice Search and Recitation Evaluation: Integrate voice recognition to allow
users to search or recite verses and receive feedback. Cloud Sync and Backup: Allow
users to save bookmarks, progress, and notes across devices.

References
A comprehensive list of references is cited using a standard format.

[1] Draw.io,’ https://app.diagrams.net/ ” UML

[2] Line Chart Canva,’ https://www.canva.com/graphs/line-graphs/” Canva

[3] Bar Graph, https://livechatai.com/bar-graph-maker Bar Graph

43 | P a g e
[4] Pie Graph, https://livechatai.com/pie-chart-maker Pie Graph

[5] Al Fahmi Booklet by Dr Manzoor Alfahmi

[6]. (1998). Recommended Practice for Software Requirement Specification. (IEEE)

44 | P a g e

You might also like