0% found this document useful (0 votes)
12 views63 pages

End of Year Project: Entitled

The document outlines an end-of-year project for a Software Engineering program, focusing on the development of a digital financial platform named DANOUS. This platform includes a mobile application for users and vendors, and a web interface for administrators, aimed at simplifying money transfers and bill payments while integrating AI technologies for enhanced security. The project is structured into chapters covering analysis, design, implementation, and testing, ultimately aiming to improve the reliability and accessibility of financial services.

Uploaded by

examenblg
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views63 pages

End of Year Project: Entitled

The document outlines an end-of-year project for a Software Engineering program, focusing on the development of a digital financial platform named DANOUS. This platform includes a mobile application for users and vendors, and a web interface for administrators, aimed at simplifying money transfers and bill payments while integrating AI technologies for enhanced security. The project is structured into chapters covering analysis, design, implementation, and testing, ultimately aiming to improve the reliability and accessibility of financial services.

Uploaded by

examenblg
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

ACADEMIC YEAR

2024/2025
Ministry of Higher Education
and Scientific Research

Private International Higher


School of Polytechnic

END OF
YEAR PROJECT
In order to obtain the National Diploma in Engineering

Field of study: Software Engineering

Entitled

DANOUS

Internship place Author Supervisor

INNO Think Lab Dorra Boucharbia Mr. Mouhi Belguith


Acknowledgments

At the heart of every achievement lies the support and encouragement


of those who believed in and contributed to its success. I am
profoundly grateful to all who, directly or indirectly, played a role in
bringing this project to fruition. Your support, guidance, and
encouragement have been invaluable throughout this journey.
I am especially grateful to my academic project supervisor, Mr. Mouhi
Eddine Belguith, for the trust he placed in me and for his unwavering
support. His insightful guidance, constructive feedback, and
continuous encouragement have been instrumental in navigating the
challenges of this project and ensuring its success.
I also extend my sincere thanks to my company supervisor, INNO
Think Lab, whose mentorship and professional insights greatly
enriched this project. Their support and practical perspective helped
bridge the gap between academic knowledge and real-world
application, making this experience both valuable and rewarding.
I owe a special note of gratitude to all my professors at EPI for their
dedication and passion for teaching. Their guidance and knowledge
have laid a solid foundation for my academic and professional growth.
Lastly, I wish to express my heartfelt thanks to the esteemed members
of the jury for taking the time to evaluate this work. Your feedback
and expertise are highly valued, and I hope that this project meets your
expectations.
This achievement would not have been possible without the collective
efforts of all those who supported me along the way, and for that, I
remain profoundly grateful.

2
Dedication

To my precious parents,
I dedicate this work to my parents, who have been my unwavering
companions with love and patience throughout my journey. Their faith
in me, their constant support, and their wisdom have guided me every
step of the way. This humble report is the fruit of their sacrifices and
their invaluable guidance. I am deeply thankful for every gesture, every
word, and every prayer that has carried me to this point. May God
protect them and grant them peace and prosperity.
To my adored brother,
I dedicate this work to my brother, whose unwavering support and
unconditional love have been an endless source of strength and
motivation. Their joyful presence, warm spirit, and nurturing
atmosphere made this project possible. Your laughter and
encouragement have brightened my path, and I am profoundly grateful
to have you by my side. Your presence in my life is a true blessing, and I
thank you from the depths of my heart.
To my exceptional friends,
your friendship has been a beacon of light, providing me with the
strength and confidence to move forward. Your faith in me, your
comforting words, and your unconditional support have enabled me to
overcome every challenge. I am profoundly grateful to each of you for
believing in me, even when I doubted myself. May our bond remain as
strong and cherished as you are to me.
To all my professors,
For believing in me and inspiring me to pursue excellence, I extend my
heartfelt thanks. Your guidance and support have empowered me to
strive forward with confidence and determination.
Finally,
I thank everyone who played a part in this journey, no matter how
small. Each contribution has been invaluable, and I carry immense
gratitude in my heart for every act of kindness and support.

3
Contents

General Introduction : ..................................................................................................... 11


Analysis and Preliminary Study ..................................................................... 10
1 Introduction :...................................................................................................... 11
2 Project Overview : ............................................................................................. 11
3 Study of Existing : ............................................................................................. 11
3.1 Existing Solutions :..................................................................................... 12
3.1.1 Cash App :.............................................................................................. 12
3.1.2 Wise : ..................................................................................................... 12
3.1.3 Orange Money : ..................................................................................... 12
3.2 Critique of Existing Solution : .................................................................... 13
3.2.1 Cash App :.............................................................................................. 13
3.2.2 Wise : ..................................................................................................... 13
3.2.3 Orange Money : ..................................................................................... 14
3.3 Our Solution : ............................................................................................. 14
3.4 Comparatif Table : ...................................................................................... 15
4 Requirements Analysis : .................................................................................... 15
4.1 Actors Identification : ................................................................................. 15
4.2 Functional Requirements : .......................................................................... 16
4.2.1 User: ....................................................................................................... 16
4.2.2 Vendor: .................................................................................................. 16
4.2.3 Administrator: ........................................................................................ 17
4.2.4 Super Administrator: .............................................................................. 17
4.3 Non-Functional Requirements : ................................................................. 17
5 Working Methodology :..................................................................................... 18
5.1 V-Model : ................................................................................................... 18
5.2 Advantages of the V-Model : ..................................................................... 19
6 GANTT Chart : .................................................................................................. 19
7 Conclusion : ....................................................................................................... 20
Conceptual Study ............................................................................................. 22
1 Introduction :...................................................................................................... 22
2 System Architecture :......................................................................................... 22
2.1 3-Tier Architecture : ................................................................................... 22

4
2.2 MVC Pattern:.............................................................................................. 23
3 Design methodology: ......................................................................................... 24
4 Detailed Design : ............................................................................................... 25
4.1 Use Case Diagrams : .................................................................................. 25
4.1.1 Global Use Case Diagram :.................................................................... 25
4.1.2 Refined Use Case Diagram : .................................................................. 26
4.1.3 Refined Admin and Super Admin Use Case Diagram : ........................ 28
4.2 Class Diagram : .......................................................................................... 30
4.2.1 Descriptive Table of The Class Diagram : ............................................. 30
4.2.2 Class Diagram : ...................................................................................... 31
4.3 Sequential Diagrams :................................................................................. 32
4.3.1 Sequence diagram for user authentication : ........................................... 33
4.3.2 Sequence diagram for vendor to user transaction : ................................ 33
4.3.3 Sequence diagram for money transfer between users : .......................... 34
5 Conclusion : ....................................................................................................... 35
Implementation ................................................................................................ 37
1 Introduction :...................................................................................................... 37
2 Technologies : .................................................................................................... 37
2.1 Languages : ................................................................................................. 37
2.1.1 JavaScript : ............................................................................................. 37
2.1.2 UML : ..................................................................................................... 38
2.2 Frameworks : .............................................................................................. 38
2.2.1 React JS :................................................................................................ 38
2.2.2 React Native : ......................................................................................... 38
2.2.3 Expo : ..................................................................................................... 39
2.2.4 Express JS : ............................................................................................ 39
2.3 Softwares : .................................................................................................. 39
2.3.1 Visual Studio Code : .............................................................................. 39
2.3.2 Postman : ................................................................................................ 40
2.3.3 Drawio : ................................................................................................. 40
2.3.4 Figma : ................................................................................................... 40
2.3.5 MongoDB Compass : ............................................................................. 41
2.3.6 GitLab : .................................................................................................. 41
2.3.7 GitHub : ................................................................................................. 41
2.4 SGBD : ....................................................................................................... 42

5
2.4.1 MongoDB : ............................................................................................ 42
3 Interfaces :.......................................................................................................... 42
3.1 Admin And SuperAdmin Web Interfaces : ................................................ 42
3.1.1 Authentication : ...................................................................................... 42
3.1.2 Dashboard : ............................................................................................ 43
3.1.3 Vendor Accounts : ................................................................................. 44
3.1.4 Vendor Transactions : ............................................................................ 46
3.1.5 Users Accounts : .................................................................................... 47
3.1.6 User Transactions : ................................................................................ 49
3.1.7 Restrictions : .......................................................................................... 50
3.1.8 Top Up Accounts : ................................................................................. 51
3.1.9 My Account : ......................................................................................... 51
3.1.10 My Transactions : .................................................................................. 55
3.1.11 Help Request : ........................................................................................ 56
3.2 User and Vendor Mobile Interfaces : ......................................................... 56
3.2.1 Onboarding screens: ............................................................................... 56
3.2.2 Authentication : ...................................................................................... 57
3.2.3 Dashboard : ............................................................................................ 58
3.2.4 Profile :................................................................................................... 58
3.2.5 Top Up Accounts : ................................................................................. 59
3.2.6 Payments : .............................................................................................. 60
3.2.7 Vendor Part : .......................................................................................... 60
4 Conclusion : ....................................................................................................... 61
Conclusion and Perspectives : ........................................................................................62
Webography :.....................................................................................................................63

6
Figures List
Figure 1.1: DANOUS Logo.................................................................................. 11
Figure 1.2: Cash App.............................................................................................12
Figure 1.3: Wise…................................................................................................ 12
Figure 1.4: Orange Money.................................................................................... 13
Figure 1.5: V-Model............................................................................................. 19
Figure 1.6: GANTT Chart.................................................................................... 20
Figure 2.1: 3-Tier Architecture.............................................................................. 23
Figure 2.2: MVC Pattern...................................................................................... 24
Figure 2.3: UML................................................................................................... 24
Figure 2.4: Global Use Case Diagram.................................................................. 26
Figure 2.5: Refined User Use Case Diagram........................................................ 27
Figure 2.6: Refined Admin and Super Admin Use Case Diagram....................... 29
Figure 2.7: Class Diagram..................................................................................... 32
Figure 2.8: Sequence Diagram Autentication......................................................... 33
Figure 2.9: Sequence Diagram TopUp User Account............................................. 34
Figure 2.10: Sequence Diagram TopUp User Account........................................... 35
Figure 3.1: Java Script........................................................................................... 37
Figure 3.2: Unified Modeling Languag.................................................................. 38
Figure 3.3: React JS............................................................................................... 38
Figure 3.4: React Native......................................................................................... 39
Figure 3.5: Expo..................................................................................................... 39
Figure 3.6: Express JS............................................................................................ 39
Figure 3.7: Visual Studio Code............................................................................... 40
Figure 3.8: Postman............................................................................................... 40
Figure 3.9: Drawio................................................................................................. 40
Figure 3.10: Figma................................................................................................. 40
Figure 3.11: MongoDB Compass............................................................................ 41
Figure 3.12: GitLab................................................................................................. 41
Figure 3.13: GitHub................................................................................................ 41
Figure 3.14: MongoDB........................................................................................... 42
Figure 3.15: Authentication.................................................................................... 42
Figure 3.16: Dashboard.......................................................................................... 43
Figure 3.17: Vendor Accounts............................................................................... 44
Figure 3.18: Vendor Transactions.......................................................................... 46
Figure 3.19: Users Accounts.................................................................................. 47
Figure 3.20: User Transactions.............................................................................. 49
Figure 3.21: Restrictions........................................................................................ 50
Figure 3.22: Top Up User Accounts...................................................................... 51
Figure 3.23: My Account....................................................................................... 52
Figure 3.24: My Transactions................................................................................ 55
Figure 3.25: Help Request..................................................................................... 56

7
Figure 3.26: Onboarding Screens.......................................................................... 57
Figure 3.27: Authentication................................................................................... 57
Figure 3.28: Dashboard..........................................................................................58
Figure 3.29: Profile................................................................................................ 59
Figure 3.30: Top Up Accounts.............................................................................. 59
Figure 3.31: Payments........................................................................................... 60
Figure 3.32: Vendor Part....................................................................................... 60

Tables List
Table1.1: Comparative table of existing solutions….........................................................15
Table2.1: Description of the Use Case User Payment Bill................................................28
Table2.2: Description of the Use Case Create Admin Account……………….................30
Table2.3: Descriptive Table of The Class Diagram...........................................................31

8
General Introduction
In an increasingly digital and fast-paced world, financial services must evolve to meet
the growing expectations of users seeking fast, secure, and convenient solutions. The ability to
transfer money, pay bills, and manage transactions through mobile applications has become an
essential part of daily life. However, ensuring reliability, security, and ease of use remains a
significant challenge especially in regions with limited access to advanced banking services.

This project presents the development of an integrated financial application aimed at


simplifying money transfers and bill payments. The solution is composed of two primary parts
a mobile application for end-users and vendors, and a web interface for administrators and
super administrators. The mobile application allows users to manage their balances, perform
money transfers, and pay bills. Vendors, on the other hand, can top up user accounts via
voucher codes or QR codes and perform transactions similar to users.

The administrative web interface is designed to empower admin and super admin
users with tools to monitor transactions, manage user data, and validate vendor accounts. This
dual-structured platform enhances transparency, security, and control across all user levels.

To elevate the efficiency and security of the platform, we propose the integration of
Artificial Intelligence (AI) technologies, such as Optical Character Recognition (OCR) models,
for automated verification of user documents. This not only strengthens user identity validation
but also streamlines onboarding and compliance processes.

The project is organized into three main chapters that together provide a coherent
overview of its development. It begins with the analysis and preliminary study, where the key
problems the application aims to solve are identified, along with a clear outline of both
functional and non-functional requirements and the chosen development methodology. This is
followed by the conceptual design, which serves as the technical blueprint of the system,
incorporating architectural designs, UML diagrams, and data flow models to guide the
development process. Finally, the implementation and testing phase is presented, showcasing
the technologies used, the development workflow, and the comprehensive testing conducted to
ensure the system is reliable, secure, and scalable.

The report concludes with a general conclusion that summarizes the project’s
achievements and reflects on potential future improvements.

9
Chapter 1:
Analysis and Preliminary Study

10
Chapter 1
Analysis and Preliminary Study

1 Introduction :
This chapter presents a preliminary analysis of the project, aiming to assess its
feasibility and define its scope. We begin by outlining the objectives of the money transfer and
bill payment application, followed by an overview of the methodology adopted. A comparison
with existing solutions highlights current limitations and justifies the need for our platform.
We then define the functional and non-functional requirements, setting the foundation for the
design and development phases to follow.

2 Project Overview :
This project is part of the end-of-study requirements for the Software Engineering
program at EPI Digital School for the academic year 2024/2025. It involves the design and
development of DANOUS a digital financial platform composed of a mobile application for
users and vendors, and a web interface for administrators. The solution aims to simplify money
transfers and bill payments while ensuring secure and efficient management of transactions.
By integrating AI technologies such as OCR for identity verification, the project contributes to
improving the reliability and accessibility of financial services.

Figure 1.1: DANOUS Logo

3 Study of Existing :
Before initiating any project, it is essential to conduct a thorough analysis of the
existing systems to identify their strengths and weaknesses, as well as the client's specific
needs. This ensures that these factors are considered during the design and implementation
phases. This section focuses on a study of various specialized tools in the field of route
11
management. The analysis aims to highlight the advantages and limitations of these tools,
providing a clear understanding of the needs to be addressed in our project. This will guide the
development of a solution tailored to the specific requirements and challenges at hand.

3.1 Existing Solutions :


To guarantee the system’s quality, performing a thorough review of current solutions is
essential. In this section, we provide an in-depth analysis of various available options, concentrating
on their strengths and weaknesses. Our primary attention is directed towards three key applications.

3.1.1 Cash App :

Is a mobile payment service developed by Block (formerly Square) that allows users
to transfer money to each other using a smartphone app. The service is available in the United
States and the United Kingdom. The service offers features such as sending and receiving
money, investing, receiving direct deposits, QR code support, and a Cash Card.

Figure 1.2: Cash App

3.1.2 Wise :

Wise is a British fintech company with Estonian roots, specializing in peer-to-peer


international money transfers. The platform offers a range of features including international
transfers, currency exchange, and both business and personal accounts.

Figure 1.3: Wise

3.1.3 Orange Money :

Orange Money is the mobile money transfer and payment service offered by the
Orange Group, available in most African countries where the operator is present. It is widely

12
used across Africa and the Middle East, supporting mobile payments, money transfers, bill
payments, and vendor top-ups through agents or the mobile app.

Figure 1.4: Orange Money

3.2 Critique of Existing Solution :

In this section, we analyze several existing financial platforms that offer money
transfer and bill payment services. While these solutions provide fundamental features, they
often fail to fully meet the specific needs of users. This review helps us gain a clearer
understanding of the current ecosystem, identify key shortcomings, and justify the need for a
more comprehensive and tailored solution like DANOUS.

3.2.1 Cash App :

The platform currently lacks a dedicated admin web interface, making it difficult for
administrators to centrally manage vendors, users, and system transactions in real time. Vendor
management is also limited, with no clear role-based functionality that allows vendors to act
on behalf of users, such as topping up accounts. Additionally, the system offers minimal
automation or AI-driven features, lacking tools like OCR, KYC automation, or fraud detection
that could streamline onboarding and enhance security. Its geographic reach is restricted
primarily to the U.S. and U.K., with no support for a broader international vendor ecosystem.
Furthermore, the platform is not optimized for bill payments, offering fewer utility options
compared to more comprehensive solutions in the market.

3.2.2 Wise :

The platform lacks a cash or voucher top-up system, relying entirely on bank and card-
based methods, which makes it unsuitable for cash-dependent economies or rural areas with
limited banking access. It does not support vendor or agent roles, being strictly designed for
peer-to-peer and business transfers without involving local intermediaries. Administrative
control is also limited, with no multi-tier structure to monitor, manage, or regulate transactions
effectively. Additionally, the platform depends on manual KYC processes, offering no AI-
driven verification features such as OCR or ID recognition. While the web interface is polished,
13
the mobile app lacks the flexibility and usability typically expected from wallet-based apps
used for daily transactions.

3.2.3 Orange Money :

The platform exhibits a strong dependency on telecom operators, which limits


flexibility and customization for startups or third-party developers seeking greater
independence. It is not particularly developer-friendly, offering limited API access and
minimal extensibility for building custom admin panels or integrating AI-based enhancements.
The available admin tools are basic and primarily internal, lacking the sophistication needed
for external platform owners or comprehensive system-level dashboards. Moreover, the user
experience and interface design are outdated, falling short of the expectations of modern,
digital-native users. Innovation is also slow, with delayed adoption of emerging technologies
such as QR-based payments and biometric verification.

3.3 Our Solution :

After analyzing the limitations of existing platforms such as Cash App, Wise, and
Orange Money, DANOUS emerges as the solution; offering the flexibility of digital wallets
combined with advanced administrative controls and AI-powered identity verification through
OCR technology. It closes the gaps left by existing systems, offering a more intelligent,
scalable, and user-centric platform designed to meet the dynamic needs of today’s financial
landscape.

Key elements of the proposed solution include:

AI-Driven KYC Process: Integrated OCR to scan and verify ID documents


automatically during user onboarding.

Vendor Ecosystem: Unique vendor accounts that can top-up user balances using QR
or voucher codes; ideal for areas with limited banking infrastructure.

Multi-Tier Admin Control: Web interface for administrators and super


administrators to manage users, vendors, and system operations with a full audit trail.

Dual Platform Architecture: A mobile app for users and vendors, and a web
dashboard for admin functions.

Offline Functionality Support: Optional USSD or QR-based operations for


transactions in low-connectivity regions.

14
This comprehensive solution addresses the shortcomings in existing platforms by
offering localized features, strong security, and extensible architecture for future integration of
smart features like fraud detection and biometric authentication.

3.4 Comparatif Table :

The comparatif table provides a comparative overview of existing solutions and the
one we aim to develop, highlighting the key differences and improvements our platform will
offer.

Table1.1: Comparative table of existing solutions

4 Requirements Analysis :
The requirements specification phase defines the essential features of the DANOUS
system. It outlines both functional and non-functional needs, ensuring a shared understanding
between developers and stakeholders for successful project development.

4.1 Actors Identification :

The application's features and permissions are designed to match the specific needs of
each user type. The focus is on providing a reliable and user-friendly platform for managing
financial transactions.

Our project includes four main actors:

15
User: A regular user of the mobile app, who wants to send money, pay bills, and
manage balance.

Vendor: A user with extended privileges who can assist other users by topping up
accounts or performing transactions on their behalf.

Administrator: Web interface user who manages the overall platform operations.
Handles user and vendor verification, and oversees transactions.

Super Administrator: Higher-level admin with access to all platform settings and
user management controls. Can perform high-level configurations.

4.2 Functional Requirements :

Functional requirements define the core actions the system must perform in response
to each actor's interaction. In the DANOUS platform, every user (client, vendor, or
administrator) must authenticate before accessing the mobile or web application. The system
must provide tailored functionalities for each role, ensuring smooth operation and reliable
service across both mobile and web applications.

4.2.1 User:

The end-user is the primary actor of the mobile application. Typically an individual
looking for an accessible and secure financial tool, the user can:

 Registers and logs into the mobile app


 Uploads ID for verification via OCR
 Views account balance and transaction history
 Transfers money and pays bills

4.2.2 Vendor:

A vendor is a user with elevated permissions who operates as an intermediary or agent


within the platform that:

 Registers and logs into the mobile app


 Uploads ID for verification via OCR
 Loads balance using voucher codes or QR codes
 Assists users with transactions

16
4.2.3 Administrator:

The administrator operates through the web interface and is responsible for:

 Accesses the platform via the web interface


 Approves or rejects vendor accounts
 Monitors, restricts, and manages user and vendor activities and transactions
 Accesses audit logs and verification data
 Views analytics and platform reports
 Requests support from the Super Administrator when needed

4.2.4 Super Administrator:

The super administrator holds the highest level of access within the system. This role
includes:

 Manages administrator accounts


 Configures system-wide settings
 Views global analytics and platform reports
 Manages secure integration with external banking systems

4.3 Non-Functional Requirements :

Non-functional requirements specify the quality attributes that define how a system
operates. While not directly visible to end users, these requirements are critical to ensuring the
system's overall efficiency and effectiveness.

Our system should meet the following keys:

Performance

Performance refers to the system's ability to operate efficiently and respond quickly
under varying user loads.

 Caching frequently accessed data to reduces database queries and accelerates


loading times.
 Reduced payload sizes to ensures faster data transmission between client and
server.

Security

17
Security involves protecting system data and resources from unauthorized access,
ensuring confidentiality, integrity, and availability.

 Data must be protected using encryption (SSL/TLS) and secure authentication


methods.
 Implement role-based access control (RBAC) for end-users, vendors, admins,
and super admins.

Modular architecture

Scalability

Scalability is the system's ability to handle increased workloads or expand


functionality without compromising performance or requiring significant architectural
changes.

 to support future expansion (new features, vendors, or services) without major


redesign.

Compatibility

Compatibility is the system’s ability to function consistently across different devices,


operating systems, and web browsers without errors or performance issues.

 Full support for Android and iOS.


 Web version must work smoothly across all modern browsers.

5 Working Methodology :
With the growing complexity of digital financial solutions, adopting a structured
development methodology has become essential to ensure effective planning, management,
and delivery. Over the years, several methodologies have emerged to guide the software
development lifecycle, helping to break down the workflow into well-defined and manageable
phases.

5.1 V-Model :
To ensure a structured and reliable development process, we have adopted the V-
Model methodology for this project. The V-Model is a software development approach that
emphasizes the parallel relationship between development and testing activities. From
requirements gathering to coding; each development phase has a corresponding testing phase

18
to verify and validate the results. This model is particularly well-suited for our project, as it
ensures high levels of quality and security, which are essential for financial operations such as
money transfers and bill payments. It also facilitates better planning, traceability, and control
throughout the lifecycle of both the mobile and web components of the platform.

Figure 1.5: V-Model

5.2 Advantages of the V-Model :


The V-model ensures rigorous validation and verification at every stage of
development, making it simple to understand and implement, even for solo developers. It is
particularly well-suited for projects with clearly defined requirements. By doing so, it enables
developers to trace bugs or errors directly back to their origin in the design phase, ultimately
improving software quality.

This systematic approach helps to identify and rectify issues early on, resulting in a
more reliable and robust final product. By adopting the V-model, we ensure a clear, step-by-
step approach to developing DANOUS, allowing us to manage both the mobile and web
applications, while maintaining a strong focus on quality, structure, and control throughout the
entire development lifecycle.

6 GANTT Chart :
The various stages of the project’s development are illustrated in the Gantt chart
presented in the following figure.

19
Figure1.6: GANTT Chart

7 Conclusion :
In this chapter, we established the general context of the project by analyzing the
current financial landscape and identifying the limitations of existing solutions. We introduced
the concept of DANOUS, defined its main objectives, and detailed the functional and non-
functional requirements essential to its development. This foundational analysis provides a
clear understanding of the problem at hand and sets the stage for the next chapter, which will
be dedicated to the detailed design and architectural conception of our solution.

20
Chapter 2:
Conceptual Study

21
Chapter 2
Conceptual Study

1 Introduction :
In the previous chapter, we identified the main actors of the DANOUS platform and
outlined their respective functionalities. We now move into a crucial phase of the project: the
design stage. This step defines the system's architecture and guides the technical
implementation. It includes both a high-level and detailed view of the platform, presented
through architectural schemas, general and refined use case diagrams, class diagrams, and
sequence diagrams. These visual tools help ensure that the solution is structured, coherent, and
aligned with our functional goals.

2 System Architecture :
We adopted a structured architectural approach that supports both performance and
maintainability. It outlines the N-Tier structure that separates concerns across the system and
the MVC pattern that organizes internal logic, ensuring scalability, maintainability, and
efficient development.

2.1 3-Tier Architecture :


To build a robust and scalable digital financial platform, the DANOUS system is
designed based on a three-tier architecture, which ensures clean separation of concerns and
promotes modular development. This architecture is ideal for supporting the platform’s
complexity, enabling efficient management, maintainability, and future scalability.

 Presentation Tier: Developed using React JS and React Native, this layer is
responsible for managing the user interface and ensuring a smooth and intuitive user experience
across both mobile and web applications.

 Business Logic Tier: Built with [Link], this layer handles the core logic of the
system, managing operations such as transactions, account management, and permission
handling. It acts as the brain of the application, processing all functional requirements.

 Data Access Tier: Powered by MongoDB, this layer manages persistent data
storage. It handles the retrieval, storage, and querying of information related to users, shops,
admins, and financial operations
22
This separation of concerns simplifies the development and maintenance of each
component, enabling a modular and scalable architecture that adapts to the evolving needs of
users and the application.

Figure 2.1: 3-Tier Architecture

2.2 MVC Pattern:

To better understand the structure and internal functioning of our system, we have
outlined its logical architecture using the Model-View-Controller (MVC) design pattern.

The Model-View-Controller (MVC) is a widely used design pattern and one of the
most popular for structuring applications. This pattern organizes applications into three distinct
components:

Model: The Model Represents the data layer of the system. In DANOUS, it
encapsulates the business logic and interacts with the database, handling data validation,
persistence, and rules around transactions and account operations. It contains all decision-
making code related to data and provides a straightforward interface for the Controller to
interact with.

View: The View represents the user interface, including graphical elements. It’s
responsible for rendering the data, displaying account balances, transaction histories, and input
forms for actions such as payments or top-ups.

Controller: The Controller acts as an intermediary between the user, the View, and
the Model. It captures user actions, processes them via the business logic, sends requests to the
Model to execute actions, and updates the View to reflect changes and display results.

This separation facilitates development, testing, and updates over time. Each
component can be independently maintained, accelerating the development lifecycle and
improving long-term project sustainability.

23
Figure 2.2: MVC Pattern

3 Design methodology:
In order to ensure a clear and organized representation of our system’s architecture,
we rely on modeling tools and methodologies that support both clarity and precision. Modeling
is a crucial step in software design, as it helps to define the system’s structure, behavior, and
interactions before actual development begins. It also improves communication among team
members and stakeholders by offering a visual understanding of how the system operates.

To effectively design and visualize the architecture of our DANOUS platform, we


have chosen to use UML (Unified Modeling Language). UML is a standardized modeling
language used primarily in object-oriented software engineering. It provides a unified way to
represent system structure, behavior, and interactions through a wide variety of diagram types.
One of the key strengths of UML is its ability to simplify complex system designs by presenting
them in a visual format that is easier to understand, communicate, and maintain. This makes it
particularly valuable for collaborative development and documentation.

Figure 2.3: UML

24
4 Detailed Design :
Bringing the DANOUS platform to life starts with a clear vision of its inner workings.
Through UML modeling, we map out how users interact with the system, how components are
structured, and how data flows between them. From use case diagrams to class and sequence
diagrams, this design blueprint lays the foundation for a well-organized and efficient
application.

4.1 Use Case Diagrams :


The use case diagram offers a clear and structured representation of the interactions
between our platform and its main actors. It highlights the various functionalities available to
each user type, helping to define system behavior based on user needs. By focusing on what
users can do rather than how the system operates internally, this diagram serves as a
foundational step in shaping a user-driven and efficient application design.

4.1.1 Global Use Case Diagram :

This global use case diagram offers a comprehensive overview of the DANOUS
platform, illustrating the core functionalities and interactions available to its primary user roles:
User, Vendor, Administrator, and Super Administrator. Each actor is associated with specific
use cases that reflect their responsibilities and access levels within the system. For instance,
Users can manage their profiles, and perform transactions, while Vendors can top up users
accounts and monitor transactions. Administrators oversee platform operations, such as
managing users and content, ensuring smooth functionality. The Super Administrator holds the
highest level of control, including platform configuration, user management at all levels, and
security oversight. This diagram effectively highlights role-based access control and clarifies
the distinct boundaries of functionality assigned to each actor, providing a clear understanding
of system structure and user privileges across the platform.

25
Figure 2.4: Global Use Case Diagram

4.1.2 Refined Use Case Diagram :

Refined use case diagrams break down the general interactions into detailed scenarios
for each actor. They illustrate specific processes, offering a clearer view of system behavior
and improving implementation accuracy.

[Link] Refined User Use Case Diagram :

This diagram presents a granular view of user interactions within the DANOUS
mobile application. It highlights core functionalities of user that who perform financial
operations.

26
The diagram effectively organizes functionalities into logical groups and employs
UML conventions.

Figure 2.5: Refined User Use Case Diagram

[Link] Description of the Use Case User Payment Bill:

This use case describes how a client manages their financial transactions, including
paying bills and transferring money to other users. It outlines the main steps, possible
alternatives, and exceptions involved in both processes to ensure smooth and secure operations.

27
Use Case User Payment Bill

Main Actor User (Client)

Preconditions Authenticated user

Postconditions Paid user bill

Main Scenario [S1] View Bills


1. The system displays a list of the user's bills.
2. The user selects a bill to view its details.
[S2] Pay a Bill
1. The user selects an unpaid bill.
2. The system shows the bill details and payment options.
3. The user selects a payment method and clicks “Pay”.
4. The system processes the payment, updates the status, and
displays a confirmation message.

Alternative Flows A1: If the user is not authenticated → Redirect to login screen.
[S2-2a]: Payment declined → System shows failure → User
retries or changes method.
[S2-3a]: Invalid input (e.g., expired card) → Show input error →
User retries.

Exceptions [S2-4a]: Unexpected payment error → Process canceled →


Return to bills page.

Table2.1: Description of the Use Case User Payment Bill

4.1.3 Refined Admin and Super Admin Use Case Diagram :

This diagram illustrates the detailed interactions between the Admin and Super Admin
actors within the our platform. Admins are responsible for managing vendors and user
accounts, topping up balances, monitoring transactions, and granting permissions.

The Super Admin, with elevated privileges, handles system-wide. This role ensures
full control over administrative configurations, reinforcing platform governance and integrity.

28
Figure 2.6: Refined Admin and Super Admin Use Case Diagram

[Link] Description of the Use Case Create Admin Account By SuperAdmin:

This use case outlines how the Super Admin manages admin accounts, including
creating, editing, and toggling their activation status.

Use Case Create Admin Accounts

Main Actor Super Admin

Preconditions Super Admin authenticated and authorized

Postconditions Admin account is created

29
Main Scenario [S1]: The super admin views the list of admin accounts

1. The system displays all registered admin accounts with their


status (active/inactive).

[S2]: The super admin creates a new admin account

1. The super admin clicks “Create Admin”.

2. The system shows a form.

3. The super admin enters details (name, email, role, etc.) and
submits.

4. The system validates and creates the account.

Alternative Flows A1: Super admin inputs invalid data while creating:

→ The system highlights the fields with errors and prevents


submission.

Exceptions S2-4a]: Unexpected system error during account creation:

1. The system displays a technical error.

2. No account is created.

Table2.2: Description of the Use Case Create Admin Account

4.2 Class Diagram :


The class diagram presents a high-level view of the system’s structure, emphasizing
user roles, financial operations, and administrative control. It shows clear relationships between
entities and captures the system’s logic through class attributes and methods, offering a solid
foundation for development and maintenance.

4.2.1 Descriptive Table of The Class Diagram :

The table outlines the main classes in the system with brief descriptions of their roles.
This overview simplifies understanding of each class's purpose within the application.

30
Table2.3: Descriptive Table of The Class Diagram

4.2.2 Class Diagram :

The class diagram of DANOUS defines the static structure of the system by
representing its core entities, their attributes, and relationships. The system is centered around
various user roles Client, Vendor, Admin, and Super Admin, all of which inherit common
properties from the base user class. Each role is linked to specific operations and
responsibilities within the platform.

31
Figure 2.7: Class Diagram

4.3 Sequential Diagrams :


The sequence diagram illustrates the dynamic interactions between the actors and
components of the system. It depicts the flow of exchanged messages and the actions performed

32
by these actors over time, providing a clear and precise model of the progression of a specific
process or use case.

4.3.1 Sequence diagram for user authentication :

This sequence diagram outlines a secure multi-step sign-in process where the user first
enters their email and password. Upon successful credential validation, they select a
verification method (phone or email) to receive a one-time code. The backend, via a verification
service, sends the code, which the user then enters to complete the login. If the code is valid,
the system issues an authentication token and grants access; otherwise, it returns an error. This
flow enhances security through two-factor authentication.

Figure 2.8: Sequence Diagram Autentication

4.3.2 Sequence diagram for vendor to user transaction :

This sequence diagram illustrates two methods for topping up a user's account: QR
code scanning by a vendor and voucher code redemption by the user.

In the QR code top-up flow, the user requests a top-up from a vendor. The vendor
scans the user's QR code using the vendor app, which sends the user ID to the backend. After
33
entering the top-up amount, the backend updates the user's balance in the database and confirms
the transaction to both the vendor and user.

In the voucher code flow, the user manually enters a voucher code into the app. The
backend sends this code to a verification service for validation. If the code is valid, the backend
credits the user's account and confirms success. If invalid or expired, the user is shown an error
message.

This process supports both vendor-assisted and self-service top-ups, offering


flexibility for different user environments.

Figure 2.9: Sequence Diagram TopUp User Account

4.3.3 Sequence diagram for money transfer between users :

This sequence diagram illustrates the process of a money transfer between users
(sender and receiver) using a mobile application. The sender initiates the transaction by
entering the receiver's details and the transfer amount, then confirms the action. The app sends
the request to the transaction service, which checks the sender's balance from the database. If
the balance is sufficient, the sender’s account is debited, the receiver’s account is credited, and
a success message is displayed. If the balance is insufficient or an error occurs, the transaction
fails and an error message is shown to the sender.

34
Figure 2.10: Sequence Diagram Money Transfer Between Users

5 Conclusion :
In this chapter, we defined both the static and dynamic aspects of the DANOUS
platform through essential UML diagrams. These elements provide a clear blueprint of our
system’s structure and interactions. In the next chapter, we move forward with the
implementation phase, where the theoretical design is transformed into a working application.

35
Chapter 3:
Implementation

36
Chapter 3
Implementation

1 Introduction :
This chapter covers the implementation phase of the DANOUS project. It outlines the
overall architecture, the technologies used, and showcases the main features of the solution
through clear screenshots and descriptions.

2 Technologies :
The development of the DANOUS platform relies on a powerful combination of
modern web and mobile technologies to ensure a smooth, responsive, and scalable user
experience. In this section, we will explore the programming languages, frameworks, software
tools, and the database management system (SGBD) used throughout the project.

2.1 Languages :

Programming languages are the foundation of software development, enabling


developers to communicate instructions to computers and build functional, interactive
applications. They provide the syntax and structure needed to create logic, manage data, and
control the behavior of web, mobile, and desktop systems.

2.1.1 JavaScript :

JavaScript is a programming language that empowers you to build dynamic content,


manage multimedia, animate images, and achieve impressive results with only a few lines of
code.[1]

Figure 3.1: Java Script

37
2.1.2 UML :

The Unified Modeling Language (UML) is a graphical modeling language based on


pictograms, designed to provide a standardized method for visualizing system designs. It is widely
used in software development and object-oriented design.[2]

Figure 3.2: Unified Modeling Language

2.2 Frameworks :
On top of these languages, we have integrated a set of robust frameworks and libraries
to streamline development.

2.2.1 React JS :

[Link] is a popular open-source JavaScript library developed by Facebook for


building user interfaces, especially single-page applications. It enables developers to create
fast, interactive, and reusable UI components through a declarative and component-based
approach, making web development more efficient and scalable.[3]

Figure 3.3: React JS

2.2.2 React Native :

React Native is a framework that allows you to build native mobile applications for both
Android and iOS using JavaScript. Typically, when developing an app for both platforms, you
would need to learn Java/Kotlin (for Android) and Swift/Objective-C (for iOS). While this
approach has its advantages, such as delivering truly native apps with excellent performance, it also
has significant downsides. Development time effectively doubles, making it less cost-effective for
large companies, and users on one platform may have to wait months or even a year for the app to
become available.[4]

38
Figure 3.4: React Native

2.2.3 Expo :

Expo is a framework and platform for React applications. It provides a set of tools and
services built around React Native and native platforms to help you quickly develop, build, deploy,
and iterate on iOS, Android, and web applications, all from the same JavaScript/TypeScript
codebase.[5]

Figure 3.5: Expo

2.2.4 Express JS :

Express JS is a minimalist and flexible [Link] web application framework that offers a
robust set of features for building web and mobile applications.[6]

Figure 3.6: Express JS

2.3 Softwares :

Software tools are essential components in the development process, providing


environments and functionalities that support coding, design, testing, collaboration, and project
management.

2.3.1 Visual Studio Code :

Visual Studio Code is a lightweight yet powerful text editor that runs on your desktop and
is available for Windows, macOS, and Linux. It comes with built-in support for JavaScript,
39
TypeScript, and [Link], and features a rich ecosystem of extensions for other languages and
runtime environments.[7]

Figure 3.7: Visual Studio Code

2.3.2 Postman :

Postman is a collaboration platform for API development. Its features simplify every stage
of API creation and streamline collaboration, enabling you to build better APIs more quickly.[8]

Figure 3.8: Postman

2.3.3 Drawio :

[Link] is a free online tool for creating diagrams like UML, flowcharts, and system
designs, widely used for visualizing software architecture.[9]

Figure 3.9: Drawio

2.3.4 Figma :

Figma is a cloud-based design tool used for creating user interfaces and prototypes,
enabling real-time collaboration among team members.[10]

Figure 3.10: Figma

40
2.3.5 MongoDB Compass :

MongoDB Compass provides a graphical interface for MongoDB, offering new ways to
manage your document-oriented NoSQL databases. It allows you to maintain control over your
sensitive data and connect to a local MongoDB server seamlessly.[11]

Figure 3.11: MongoDB Compass

2.3.6 GitLab :

GitLab is a web-based DevOps platform that integrates version control, CI/CD, and
project management tools into a single interface, allowing teams to efficiently develop, test,
and deploy code collaboratively.[12]

Figure 3.12: GitLab

2.3.7 GitHub :

GitHub is an online platform for software development, used for storing, tracking, and
collaborating on software projects. It simplifies the process for developers to share code and work
together on open-source projects. Additionally, GitHub functions as a social networking site,
enabling developers to connect, collaborate, and showcase their work.[13]

Figure 3.13: GitHub

41
2.4 SGBD :

For data storage, a flexible NoSQL database ideal for handling large amounts of
unstructured data.

2.4.1 MongoDB :

MongoDB is a document-oriented database that offers the scalability and flexibility you
need, combined with powerful querying and indexing features.[14]

Figure 3.14: MongoDB

3 Interfaces :
This section outlines the web and mobile interfaces of the DANOUS platform,
focusing on their design, usability, and how they ensure smooth user interaction across devices.

3.1 Admin And SuperAdmin Web Interfaces :

These interfaces provide role-based access where Admins manage users, top-ups, and
help requests, while SuperAdmins oversee admin actions, respond to messages, and view
system-wide analytics, all through a user-friendly dashboard.

3.1.1 Authentication :

The interface includes email and password input fields, a "Remember me" checkbox,
and a "Connect" button to submit login credentials. Basic input validation is assumed.

42
Figure 3.15: Authentication

3.1.2 Dashboard :

The dashboard displays key metrics using summary cards and interactive charts,
offering a clear visual overview of platform activity and performance.

Figure 3.16: Dashboard

[Link] Dashboard Charts :

The dashboard includes three key charts that offer a visual summary of platform
activity. The pie chart illustrates the distribution of money transactions carried out by users,
giving a clear view of how funds flow across the system. The line chart tracks the interactions
and actions performed by admins over time, highlighting patterns in administrative activity.

43
The bar chart displays the level of interaction between users and vendors, making it easy to
compare engagement across different segments.

Figure 3.16.1: Dashboard Charts

3.1.3 Vendor Accounts :

The interface displays a list of vendor accounts with columns for relevant user details.
It includes a search bar to query by name or ID and a dropdown filter to refine the results. Each
row may include action buttons for managing or viewing account details.

Figure 3.17: Vendor Accounts

44
[Link] Vendor Details :

The vendor details displays essential information about the vendor, including their
name, contact details, registration date, and current account status. It also includes financial
details, providing a clear overview of the vendor’s profile and financial standing on the
platform.

Figure 3.17.1: Vendor Details

[Link] Vendor Transactions Details :

The transaction details lists all activities carried out by the vendor. Each transaction is
timestamped and detailed, allowing for easy tracking and analysis. This section helps monitor
the vendor's financial operations and ensures transparency in all dealings.

45
Figure 3.17.2: Vendor Transactions Details

3.1.4 Vendor Transactions :

The interface presents a list of vendor transactions with columns. It includes search
and filter options to query transactions by various criteria, supporting efficient tracking and
review of transaction history.

Figure 3.18: Vendor Transactions

[Link] Vendor And User Details :

This section outlines transactions initiated by vendors toward users, such as refunds,
or service payments. Each transaction record includes vendor’s and user’s details, the
transaction amount, and the date, ensuring transparency and allowing users to track the origin
and purpose of each payment or service provided.

46
Figure 3.18.1: Vendor And User Details

3.1.5 Users Accounts :

The interface displays a list of client accounts with columns for relevant user details.
It includes a search bar to query by name or ID and a dropdown filter to refine the results. Each
row may include action buttons for managing or viewing account details.

Figure 3.19: Users Accounts

[Link] User Details :

The user details section displays essential information about the user, including their
name, contact details, registration date, and current account status. It also includes financial

47
details such as total balance, transfered money, and pending payments, providing a clear
overview of the user’s profile and financial standing on the platform.

Figure 3.19.1: User Details

[Link] User Transactions Details :

The transaction details lists all activities carried out by the user. Each transaction is
timestamped and detailed, allowing for easy tracking and analysis. This section helps monitor
the user's financial operations and ensures transparency in all dealings.

Figure 3.19.2: User Transactions Details

48
3.1.6 User Transactions :

The interface presents a list of user transactions with columns. It includes search and
filter options to query transactions by various criteria, supporting efficient tracking and review
of transaction history.

Figure 3.20: User Transactions

[Link] User and Receiver Details :

This section captures peer-to-peer transactions within the platform, detailing


exchanges such as money transfers between users. Each transaction log includes the sender,
receiver, amount, and timestamp, promoting accountability and enabling users to easily
manage and verify their personal financial interactions.

49
Figure 3.20.1: User and Receiver Details

3.1.7 Restrictions :

The interface lists restricted user accounts with fields for name, ID, location, status,
and restriction date. It includes a search bar, location filter, "Restrict Account" form, and detail
view buttons for each entry.

Figure 3.21: Restrictions

[Link] Restriction Details :

The restricted account section provides key information about users or vendors whose
access has been limited due to policy violations or suspicious activity. It includes the
individual's name, contact information, and the date the restriction was applied. The reason for
restriction is clearly stated, ensuring transparency and facilitating further review or resolution.

50
Figure 3.21.1: Restriction Details

3.1.8 Top Up Accounts :

This admin interface enables account top-ups by allowing admins to search users by
name or ID and enter an amount. It features a clean layout with easy navigation and a clear
call-to-action button.

Figure 3.22: Top Up User Accounts

3.1.9 My Account :

The My Account interface is a multilingual, user-friendly dashboard designed to help


administrators manage personal information, system preferences, and account settings with
ease. It offers quick access to personal data editing, language selection, privacy policy, and

51
administrative guidelines. The layout adapts seamlessly between viewing and editing modes,
ensuring a smooth user experience.

Figure 3.23: My Account

[Link] Personal Informations :

This section allows the admin to view and update personal details such as name, email,
phone number, and other contact information. Keeping this information accurate ensures secure
access and reliable communication.

Figure 3.23.1: Personal Informations

52
[Link] Language :

The language option enables the admin to select the preferred display language for the
interface. In this case, English (US) is selected, ensuring clarity and ease of navigation based
on language preferences.

Figure 3.23.2: Language

[Link] Privacy Policy:

This section provides access to the platform’s privacy policy, outlining how user data
is collected, stored, and used. It ensures transparency and helps the admin stay informed about
data protection practices.

Figure 3.23.3: Privacy Policy

53
[Link] Guidelines:

The guidelines section offers rules and best practices for using the platform. It helps
admins maintain proper conduct, understand platform limitations, and manage user and vendor
interactions more effectively.

Figure 3.23.4: Guidelines

[Link] Setting:

The settings section gives the admin control over various account configurations,
including notification preferences, security options, and other personalized features, enhancing
the overall user experience.

Figure 3.23.5: Settings

54
3.1.10 My Transactions :

The interface presents a list of admin transactions with columns. It includes search
and filter options to query transactions by various criteria, supporting efficient tracking and
review of transaction history.

Figure 3.24: My Transactions

[Link] Receiver Details :

This section displays all transactions initiated by the admin to users, such as refunds,
or manual adjustments. Each record includes the receiver’s information: name, user ID, and
contact details, along with the transaction amount, and the date. This ensures transparency and
helps track all administrative financial actions within the platform.

55
Figure 3.24.1: Receiver Details

3.1.11 Help Request :

The Help Request interface provides a chat box for communication between the admin
and super admin. Before sending a message, the admin must select the message type, enter the
message, and then send it. Sent messages appear in the chat box.

Figure 3.25: Help Request

3.2 User and Vendor Mobile Interfaces :

The DANOUS mobile application provides a unified interface for both users and
vendors. While all users can access core financial services, vendors have additional privileges,
including the ability to top up user accounts and directly pay user bills.

3.2.1 Onboarding screens:

Our mobile application features four onboarding screens, which introduce users to the
app's features, benefits, and value proposition before sign-up. These screens aim to engage
users, communicate the app's purpose, and encourage continued use.

56
Figure 3.26: Onboarding Screens

3.2.2 Authentication :

Following the onboarding screens, users are presented with options to choose their
role as either a user or vendor, and then guided through the sign-up and sign-in process. The
registration process includes providing necessary information, and users can opt for
verification via email or phone number. This secure verification step ensures the authenticity
of user accounts, protecting the integrity of the application and its users.

Figure 3.27: Authentication

57
Figure 3.27.1: Authentication

3.2.3 Dashboard :

The Dashboard/Home Page serves as the central hub of the application, providing
users with a clear overview of their account activity. Here, users can view their transaction
history, current balance, and monthly expenditure. The page also features a bottom navigation
bar, allowing users to easily access other key areas of the application, including Payment, Top
Up, and Profile, making it simple to navigate and manage their account.

Figure 3.28: Dashboard

3.2.4 Profile :

The Profile section allows users to manage their account information, providing a
form to update their personal details, such as name, email, phone number, and other relevant
information, without modifying their NIC (The national ID Card). Additionally, users can also
change their password through a secure and straightforward process.

58
However, to perform transactions, users are required to complete an additional
verification step, which involves scanning their National ID Card and facial recognition to
ensure the account holder's identity. Furthermore, the account must be verified by an admin,
adding an extra layer of security and validation to the user's account, before transactions can
be conducted.

Figure 3.29: Profile

3.2.5 Top Up Accounts :

The Top Up page provides users with convenient options to replenish their account
balance. Users can top up their account in two ways: Voucher Purchase, by acquiring a voucher
from a vendor and entering the voucher code to add funds to their balance; or QR Code
Transfer, by a unique QR code of the user account, which the vendor can scan to transfer money
directly into the user's balance.

This streamlined process enables users to easily add funds to their account, facilitating
seamless transactions.

Figure 3.30: Top Up Accounts

59
3.2.6 Payments :

The Payment page enables users to conduct various financial transactions with ease.
Users can transfer money to other users, allowing for quick and secure peer-to-peer
transactions. Additionally, users can pay bills, such as utility bills, directly from the application,
providing a convenient and efficient way to manage their expenses. This feature-rich page
simplifies the payment process, making it easy for users to send money and settle bills on-the-
go.

Figure 3.31: Payments

3.2.7 Vendor Part :

The Vendor experience shares a similar interface with the user application, but with
additional features that cater to their specific needs. On the vendor's sidebar, two distinct
features are available: QR Code Scanner, which allows vendors to quickly scan a user's account
QR code to top up their balance; and Bill Payment, which enables vendors to settle user bills
directly by entering the bill ID or scanning a QR code. These features empower vendors to
efficiently manage transactions and provide essential services to users, enhancing the overall
user experience.

Figure 3.32: Vendor Part

60
4 Conclusion :
In this chapter, we introduced the physical and logical architecture of our solution,
discussed the technologies selected and the reasons behind those choices, and concluded with
a series of screenshots illustrating our implementation.

61
Conclusion and Perspectives
This project represents the culmination of our final-year engineering studies at EPI
and serves as a practical demonstration of our academic learning, creativity, and teamwork.
Through the design and development of DANOUS, a comprehensive digital financial
management platform, we were able to apply theoretical concepts in software engineering,
user-centered design, and system integration within a real-world context. The platform,
comprising both a mobile application and a web interface, was created to provide a seamless,
secure, and transparent environment for managing financial transactions, while addressing the
unique needs of different user roles such as clients, vendors, administrators, and super
administrators.

Our process began with a detailed needs analysis, identifying key user pain points in
traditional financial management processes. From there, we translated these insights into well-
defined functional and non-functional requirements, and designed a modular and scalable
system architecture. By leveraging modern technologies, including React Native for cross-
platform mobile development, [Link] for the web interface, and [Link] for server-side
logic, we were able to implement a solution that is both responsive and maintainable. Special
emphasis was placed on creating a robust data model, evident in our UML class diagram, which
highlights the clarity and extensibility of the platform’s core logic.

Moreover, the entire development lifecycle was carried out individually, allowing for
full ownership of the project’s progress and decision-making. The development process
followed the V-model methodology, which emphasized rigorous planning, clear specification
of requirements, and systematic validation at each stage. This structured approach facilitated a
well-organized workflow, from initial design to final implementation, ensuring both quality
and traceability throughout the system development.

While DANOUS is already a functional and well-structured platform, we also


identified several avenues for future development. These include the integration of real-time
payment systems (using blockchain or instant bank APIs), the implementation of automated
financial reporting tools, and the application of machine learning algorithms for detecting fraud
or unusual patterns in user transactions. Additional improvements could also involve enhancing
user experience through personalized dashboards, multilingual support, and more
comprehensive accessibility features.

62
Webography
[1] JavaScript, <[Link] [Accessed April 3, 2025]

[2] UML, <[Link] [Accessed April 5, 2025]

[3] React JS, <[Link] [Accessed April 5, 2025]

[4] React Native, <[Link] [Accessed April 10, 2025]

[5] Expo, <[Link] [Accessed April 10, 2025]

[6] Express JS, <[Link] [Accessed April 10, 2025]

[7] VsCode, <[Link] [Accessed April 13, 2025]

[8] Postman, <[Link] [Accessed April 20, 2025]

[9] [Link], <[Link] [Accessed Mai 2, 2025]

[10] Figma, < [Link] [Accessed Mai 3, 2025]

[11] MongoDB Compass, <[Link] [Consulté le


12 Mai 2022]

[12] GitLab, <[Link] [Accessed Mai 13, 2025]

[13] GitHub, <[Link] [Accessed Mai 13, 2025]

[14] MongoDB, <[Link] [Accessed mai 13, 2025]

63

You might also like