KEMBAR78
MajorProject - Copy - Copy (1) 2 | PDF | Java (Programming Language) | Android (Operating System)
0% found this document useful (0 votes)
9 views37 pages

MajorProject - Copy - Copy (1) 2

This document outlines a major project on a Django app developed by Manish Kumar Roy for his Bachelor of Technology in Computer Science and Engineering at RIMT University. The project focuses on creating an innovative Android application that enhances digital communication through secure user authentication and real-time video calling using Firebase and Jitsi. It addresses the growing demand for reliable communication tools, emphasizes user engagement, and plans for future enhancements.

Uploaded by

Akash Kumar
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)
9 views37 pages

MajorProject - Copy - Copy (1) 2

This document outlines a major project on a Django app developed by Manish Kumar Roy for his Bachelor of Technology in Computer Science and Engineering at RIMT University. The project focuses on creating an innovative Android application that enhances digital communication through secure user authentication and real-time video calling using Firebase and Jitsi. It addresses the growing demand for reliable communication tools, emphasizes user engagement, and plans for future enhancements.

Uploaded by

Akash Kumar
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
You are on page 1/ 37

A MAJOR PROJECT

ON

DJANGO APP

SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE AWARD

THE DEGREE OF

BACHELOR OF TECHNOLOGY

IN

COMPUTER SCIENCE AND ENGINEERING

SUBMITTED BY SUBMITTED TO
Manish Kumar Roy Asst. Prof. Gurpreet Singh
21-B-CSE-060

SCHOOL OF ENGINEERING
RIMT UNIVERSITY, MANDI GOBINDGARH PUNJAB
JANUARY 2025 to MAY 2025
A MAJOR PROJECT

ON

DJANGO APP

SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE AWARD

THE DEGREE OF

BACHELOR OF TECHNOLOGY

IN

COMPUTER SCIENCE AND ENGINEERING

SUBMITTED BY SUBMITTED TO
Manish Kumar Roy Asst. Prof. Gurpreet Singh
21-B-CSE-060

SCHOOL OF ENGINEERING
RIMT UNIVERSITY, MANDI GOBINDGARH PUNJAB
JANUARY 2025 to MAY 2025
ABSTRACT

This project presents an innovative Android application designed to enhance digital communication
through secure user authentication and real-time video calling capabilities. Developed using Java
and Android Studio, the app integrates Firebase for user authentication, ensuring a seamless and
secure onboarding experience. By leveraging Firebase Authentication, users can easily register and
log in, with their data protected in a secure environment. The application also incorporates Jitsi for
video calling, providing high-quality, real-time communication. This integration allows users to
connect effortlessly, whether for personal conversations or professional meetings. The user interface
is designed to be intuitive, enabling users to navigate features such as mute, video toggle, and screen
sharing with ease. The app addresses the growing demand for reliable communication tools in an
increasingly remote world, making it suitable for a diverse audience. Future enhancements are
planned, including group video calls and additional features to further enrich user experience. By
prioritizing security, functionality, and user engagement, this application aims to become a leading
platform for digital communication. Ultimately, this project not only meets the immediate needs of
users but also sets the stage for future innovations in the field of communication technology. As the
app evolves, it will continue to adapt to user feedback and emerging trends, ensuring it remains a
vital resource for connecting people in a digital landscape.

i
ACKNOWLEDGEMENT

It is our pleasure to be indebted to various people who directly or indirectly contributed in the
development of our project and influenced our thinking, behaviour and acts during the course of
study. I express our sincere gratitude to our HOD (CSE department) and all teachers for providing
us an opportunity to work on this project and helps us to complete our work on time. I am thankful
to Asst. Prof. Gurpreet Singh my project mentor for their support, co-operation and motivation
provided to us during the development of project for constant inspiration, presence, and blessings.
Moreover, they provided their valuable suggestions and precious time in accomplishing our project
report. Lastly, I would like to thank the Almighty and my Parents for their moral support and my
friends with whom I shared my day-to-day experience and received a lot of suggestions that
improved my quality of work.
Sincerely,
Manish Kumar Roy,
21-B-CSE-060

ii
CANDIDATE’S DECLARATION

I hereby certify that the project entitled “DJANGO” submitted by MANISH KUMAR ROY having
Roll No. 21-B-CSE-060 in partial fulfilment of the requirement for the award of degree of the B.
Tech. (Computer Science & Engineering) submitted in Department of Computer Science &
Engineering, at RIMT University, Mandi-Gobindgarh is an authentic record of my own work carried
out during a period from JANUARY 2025 to MAY 2025. The matter presented in this project has
not formed the basis for the award of any other degree, diploma, fellowship or any other similar
titles.

Signature of the Students


Place:
Date:

The Industry Based Project Viva–Voce Examination of__________________ has been held on
____________ and accepted.

Signature of Internal Examiner Signature of HOD

Signature of External Examiner

iii
LIST OF FIGURES
Figure No. Caption Page No.
4.1 Implementation of Application 12
5.1 Working of Android 18
5.2 Android Studio 19
6.1 Firebase Authentication 21
6.2 Data Design 21
6.3 E-R Model 22
7.1 Signup Page 23
7.2 Login Page 24
7.3 Home Page 25
7.4 Video Call Page 26

iv
TABLE OF CONTENTS
TITLE Page no
Abstract i
Acknowledgement ii
Candidates’ declaration iii
List Of Figures iv
CHAPTER 1: INTRODUCTION 1-3
1.1. INTRODUCTION 1
1.2. BACKGROUND OF STUDY 1
1.3. NEED FOR PROJECT 2-3
1.4. SCOPE OF PROJECT 3
CHAPTER 2: PROBLEM STATEMENT 4-6
2.1. STATEMENT OF THE PROBLEM 4
2.2. SOLUTION OF THE PROBLEM 4-5
2.3. AIMS AND OBJECTIVES 5-6
CHAPTER 3 HARDWARE AND SOFTWARE REQUIREMENTS 7-9
3.1. HARDWARE REQUIREMENTS 7
3.2. SOFTWARE REQUIREMENTS 7-9
CHAPTER 4: METHODOLOGY 10-15
4.1. INTRODUCTION 10
4.2. JUSTIFICATION FOR METHODOLOGY 11-12
4.3. SYSTEM ANALYSIS 12
4.4. FEASIBILITY STUDY 12-13
4.5. TECHNICAL FEASIBILITY 13
4.6. TIME FEASIBILITY 13
4.7. OPERATIONAL FEASIBILLITY 13-14
4.8. IMPLEMENTATION FEASIBILITY 14
4.9. ECONOMIC FEASIBILITY 14-15
CHAPTER5: DEVELOPING AND CODING 16-19
5.1. TECHNOLOGY DESCRIPTION 16-18
5.1.1. ANDROID 16-18
5.2. ANDROID STUDIO 18-19
CHAPTER 6: DESIGN FOR THE APP 20-22
6.1. SYSTEM DESIGN 20
6.2. DATAFLOW DIAGRAMS 20-21
6.3. DATA DESIGN 21-22
6.4. E-R MODEL 22
CHAPTER 7: EXPERIMENTAL RESULT 23-26
7.1. SIGNUP PAGE 23
7.2. LOGIN PAGE 23-24
7.3. HOME PAGE 24-25
7.4. VIDEO CALL PAGE 25-26
CHAPTER 8: CONCLUSIONS AND FUTURE SCOPE 27-28
8.1. CONCLUSION 27
8.2. FUTURE SCOPE 27-28
CHAPTER 9: REFERENCES 29
9.1. REFERENCES 29
CHAPTER 1: INTRODUCTION

1.1 INTRODUCTION

In an era where connectivity is paramount, I am excited to introduce my latest Android application,


developed using Java in Android Studio, which seamlessly integrates Firebase for user
authentication and leverages WebRTC technology for real-time video calling through Jitsi servers.
This app is designed to enhance communication and foster relationships, making it easier for users
to connect with friends, family, or colleagues, regardless of geographical barriers.

The user authentication system, powered by Firebase, ensures a secure and streamlined onboarding
experience. Users can easily create accounts or log in using their existing credentials, providing
peace of mind with robust security measures in place. This feature not only simplifies access but
also enhances user engagement by allowing personalized experiences tailored to individual
preferences.

The standout feature of this application is its video calling capability, which utilizes the powerful
WebRTC framework. By integrating Jitsi servers, the app offers high-quality, low-latency video
calls, enabling users to communicate face-to-face in real time. Whether for casual chats, business
meetings, or virtual gatherings, this functionality ensures that users can maintain meaningful
connections, no matter where they are.

Overall, this app represents a significant step forward in mobile communication, combining cutting-
edge technology with user-friendly design. It is not just an application; it is a platform for building
relationships and fostering collaboration in today’s fast-paced digital world. I am thrilled to share
this innovation and look forward to seeing how it enhances the way people connect.

1.2 BACKGROUND OF THE STUDY

The rapid advancement of mobile technology has transformed communication, making it essential
to develop applications that facilitate seamless interactions. With the increasing reliance on digital
platforms for personal and professional connections, there is a growing demand for secure and
efficient communication tools. This study focuses on creating an Android application that integrates
Firebase for user authentication, ensuring a secure environment for users. Additionally, the
incorporation of WebRTC technology via Jitsi servers enables high-quality video calling, addressing
the need for real-time communication solutions. By exploring these technologies, the app aims to

1
enhance user experience and foster meaningful connections in a digital landscape. This research not
only contributes to the field of mobile application development but also addresses the broader
implications of connectivity in today’s society, emphasizing the importance of reliable
communication tools in bridging distances.

1.3 NEED FOR THE PROJECT

The need for this project arises from the increasing demand for effective digital communication tools
in our interconnected world. It aims to facilitate seamless real-time video calls, bridging
geographical gaps and enhancing personal and professional interactions. Security is a top priority,
with Firebase providing robust user authentication to protect data privacy. The app is designed to
engage users through a user-friendly interface, fostering community connections. Its versatility
allows it to cater to various use cases, from casual conversations to business meetings. By leveraging
advanced technologies like WebRTC and Jitsi, the project not only enhances functionality but also
contributes to the ongoing evolution of mobile communication solutions, making it a valuable
resource in today’s digital landscape. The following are the key points of the Project: -

1. Enhanced Communication: In a world increasingly reliant on digital interactions, there is


a pressing need for applications that facilitate seamless communication. This app addresses
that need by providing a platform for real-time video calls.

2. Secure User Authentication: With rising concerns about data privacy and security,
integrating Firebase for user authentication ensures that users can engage with confidence,
knowing their information is protected.

3. Accessibility: The app aims to bridge geographical gaps, allowing users to connect
regardless of location. This is particularly important in today’s globalized society, where
remote communication is essential.

4. User Engagement: By offering a user-friendly interface and reliable features, the app
encourages higher user engagement, fostering a sense of community and connection among
users.

5. Support for Diverse Use Cases: Whether for personal conversations, business meetings, or
educational purposes, the app caters to various communication needs, making it versatile and
valuable for a wide audience.

2
6. Technological Advancement: Leveraging cutting-edge technologies like WebRTC and Jitsi
not only enhances the app’s functionality but also contributes to the ongoing evolution of
mobile communication solutions.

1.4 SCOPE AND LIMITATION

Scope of the Project

The scope of this Android application encompasses several key features aimed at enhancing user
communication. Primarily, it focuses on providing a secure user authentication system through
Firebase, ensuring that user data is protected and access is streamlined. The app’s core functionality
includes real-time video calling capabilities powered by WebRTC and Jitsi servers, allowing users
to connect seamlessly regardless of their location.

Additionally, the project aims to create an intuitive user interface that enhances user experience,
making it accessible for individuals of varying technical backgrounds. The application will support
multiple platforms, enabling users to engage in video calls from different devices. Furthermore, the
project will include features such as chat functionality, user profiles, and notifications to enrich user
interaction and engagement.

Limitations of the Project

Despite its robust features, the project has certain limitations. Firstly, the performance of video calls
may be affected by users’ internet connectivity; poor bandwidth can lead to lag or reduced video
quality. Additionally, while the app aims to support a wide range of devices, compatibility issues
may arise with older Android versions or less common devices.

Another limitation is the reliance on third-party services like Jitsi for video calling. Any downtime
or service interruptions from these providers could impact user experience. Furthermore, while the
app includes security measures, no system is entirely immune to potential vulnerabilities, and
ongoing maintenance will be necessary to address emerging security threats.

Lastly, the project may not cater to all user needs, such as advanced features like screen sharing or
recording capabilities, which could be considered in future updates. Overall, while the application
aims to provide a comprehensive communication solution, these limitations highlight areas for
improvement and further development.

3
Chapter 2: PROBLEM STATEMENT

2.1 STATEMENT OF THE PROBLEM

In today’s fast-paced digital world, effective communication is essential for personal and
professional interactions. However, many existing communication applications face challenges such
as inadequate security, poor user experience, and limited functionality, which hinder users from
connecting seamlessly. Users often encounter issues with data privacy, leading to reluctance in
adopting these platforms. Additionally, the lack of reliable real-time video calling capabilities can
create barriers to effective communication, especially in remote settings

This project aims to address these challenges by developing an Android application that integrates
secure user authentication through Firebase and high-quality video calling using WebRTC and Jitsi
servers. By providing a user-friendly interface and robust features, the application seeks to enhance
user engagement and foster meaningful connections. Ultimately, the goal is to create a reliable
communication tool that meets the diverse needs of users while ensuring their data remains secure.

2.2 SOLUTION OF THE PROBLEM


To address the challenges of effective communication in the digital landscape, this project proposes
the development of an innovative Android application that integrates secure user authentication and
high-quality video calling capabilities. By utilizing Firebase for user authentication, the application
ensures that user data is protected through robust security measures, fostering trust and encouraging
user engagement. This feature allows users to create accounts easily and securely, streamlining the
onboarding process.

The core functionality of the application revolves around real-time video calling, powered by
WebRTC technology and Jitsi servers. This integration enables users to connect seamlessly,
regardless of their geographical location, providing a reliable platform for personal and professional
interactions. The application will support high-definition video calls, ensuring that users can
communicate effectively without the disruptions often associated with poor connectivity.

In addition to video calling, the app will feature an intuitive user interface designed to enhance the
overall user experience. This includes easy navigation, user profiles, and chat functionality, allowing
users to engage in both video and text communication. Notifications will keep users informed about
incoming calls and messages, further enhancing connectivity.
4
To ensure broad accessibility, the application will be optimized for various Android devices,
accommodating users with different hardware specifications. Regular updates and maintenance will
be implemented to address any potential security vulnerabilities and improve functionality based on
user feedback.

Ultimately, this project aims to create a comprehensive communication tool that not only meets the
diverse needs of users but also prioritizes their security and privacy. By combining advanced
technology with user-centric design, the application seeks to foster meaningful connections and
enhance the way people communicate in an increasingly digital world.

2.3 AIMS AND OBJECTIVES

The Aim of this Android Project is described as follows: -

1. Enhance Communication: To develop a reliable platform that facilitates seamless real-time


communication through video calls, bridging geographical gaps.
2. To Understand the Challenges of Real-Time Apps: Identify and address common issues
in real-time applications such as latency, network instability, and device compatibility.
3. Ensure Security: To implement robust security measures for user authentication and data
protection, fostering user trust and confidence.
4. Improve User Experience: To create an intuitive and user-friendly interface that encourages
engagement and simplifies navigation.
5. To Demonstrate Full-Stack Mobile App Development Skills: Showcase proficiency in
Android development, backend integration, and real-time communication technologies.
6. Support Diverse Use Cases: To cater to various communication needs, including personal
conversations, business meetings, and educational interactions.
7. Foster Community Connections: To build a platform that encourages users to connect
meaningfully, enhancing social interactions in a digital environment.
8. To Enhance User Experience through UI/UX Design: Design a clean, responsive, and
user-friendly interface using XML to ensure ease of use and accessibility.
9. To Build a Scalable and Modular Architecture: Design the app in a way that allows for
future enhancements like group calls, chat integration, or screen sharing.

5
The Objectives of the Project are as follows: -

1. Integrate Firebase Authentication: To implement a secure user authentication system


using Firebase, ensuring data privacy and streamlined access.
2. Utilize WebRTC and Jitsi: To incorporate WebRTC technology and Jitsi servers for high-
quality, low-latency video calling capabilities.
3. Design an Intuitive Interface: To develop a user-friendly interface that simplifies the user
experience and promotes engagement.
4. Optimize for Multiple Devices: To ensure compatibility across a wide range of Android
devices, enhancing accessibility for all users.
5. Implement Feedback Mechanisms: To establish channels for user feedback, guiding future
updates and feature enhancements based on user needs.
6. Secure Call Sessions: Ensure end-to-end encryption and secure signaling for video calls to
protect user privacy and data integrity.
7. Push Notifications for Call Invites: Integrate Firebase Cloud Messaging Service to notify
the users of incoming calls or invitations.
8. Error Handling and Debugging: Implement robust error handling for network issues,
permission denials and unexpected disconnections to improve stability.
9. Dynamic Room Creation: Allow the users to create or join unique video call rooms
dynamically, leveraging Jitsi’s room-based architecture.
10. Cross-Platform Compatibility: Ensure the app is compatible with a wide range of Android
devices and screen sizes, maintaining performance and stability.
11. Plan for Scalability: To design the application with scalability in mind, allowing for future
growth and the addition of new features as user demands evolve.

6
CHAPTER 3: HARDWARE AND SOFTWARE REQUIREMENTS

3.1 HARDWARE REQUIREMENTS

• Hardware : Processor Intel dual core and above

• Clock speed : 3.0 GHz

• RAM size : 512 MB

• Hard Disk capacity : 400 GB

• Monitor type : 15-inch colour monitor

3.2 SOFTWARE REQUIREMENT

Android Software Development Kit (SDK)

The Android Development Kit typically refers to the Android Software Development Kit (SDK),
which is a collection of tools and libraries necessary for developing Android applications. Here are
some key components and features of the Android SDK:

Key Components

1. SDK Tools: These are essential tools for developing Android apps, including the Android
Emulator, ADB (Android Debug Bridge), and fastboot.

2. SDK Platform Tools: These tools are updated regularly and include tools for debugging and
testing apps.

3. SDK Build Tools: These are required for building Android apps, including compilers and
other build tools.

4. Android Emulator: A virtual device that simulates an Android device on your computer,
allowing you to test applications without needing a physical device.

5. Libraries: A set of libraries that provide the functionality needed to build Android apps, such
as data storage, graphics, and networking.

6. Documentation and Sample Code: Comprehensive documentation and sample code to help
developers understand how to use the SDK and build apps.

7
7. Android Debug Bridge (ADB): A versatile command-line tool that lets you communicate
with a device, install and debug apps, and access the Unix shell.

What is JDK?

The JDK is a software development environment used for developing Java applications and applets.
It includes a set of tools and libraries necessary for building, running, and debugging Java programs.

Key Components of the JDK

1. Java Compiler (javac): Converts Java source code into bytecode that can be executed by the
Java Virtual Machine (JVM).

2. Java Runtime Environment (JRE): Provides the libraries, Java Virtual Machine (JVM), and
other components to run applications written in Java.

3. Java Virtual Machine (JVM): An abstract computing machine that enables a computer to run
a Java program. It provides platform independence by converting bytecode into machine-
specific code.

4. Java Debugger (jdb): A tool for finding and fixing bugs in Java programs.

5. JavaDoc: A documentation generator that creates HTML documentation from Java source
code comments.

6. Java Archive (jar): A tool for packaging Java classes into a single archive file, often used to
distribute Java applications and libraries.

7. Additional Tools: Includes tools like javap (class file disassembler), jconsole (monitoring
and management console), and more.

Development Environment

• Integrated Development Environment (IDE): While the JDK can be used with any text editor,
most developers use an IDE like IntelliJ IDEA, Eclipse, or NetBeans, which provide
advanced features like code completion, debugging, and project management.

• Languages: Primarily supports Java, but also compatible with other JVM languages like
Kotlin, Scala, and Groovy.

8
IDE Used for Development (Android Studio)

Android Studio is the official Integrated Development Environment (IDE) for Android app
development, developed by Google. It provides a comprehensive suite of tools to help developers
create, test, and debug Android applications.

SDK and AVD Manager

The SDK Manager is a tool that allows you to manage the various components of the Android
Software Development Kit (SDK). It helps you download, install, and update the necessary tools,
platforms, and other components required for Android development.

The AVD (Android Virtual Device) Manager is a tool that allows you to create and manage Android
Virtual Devices (AVDs). These virtual devices simulate the configuration of real Android devices,
enabling you to test your applications on various device types and Android versions without needing
physical devices

ADB (Android Debug Bridge)

Android Debug Bridge (ADB) is a versatile command-line tool that allows you to communicate with
an Android device. It is part of the Android SDK Platform Tools and is essential for various
development and debugging tasks.

9
Chapter 4: METHODOLOGY

4.1 INTRODUCTION
The methodology for developing the Android application will follow a structured approach to ensure
effective communication and user satisfaction. Initially, a thorough requirement analysis will be
conducted through surveys and interviews to gather insights on user needs and desired features. This
will be followed by the design phase, where wireframes and prototypes of the user interface will be
created, focusing on usability and accessibility. The development phase will involve coding the
application in Java using Android Studio, integrating Firebase for secure user authentication, and
implementing WebRTC and Jitsi for high-quality video calling capabilities. Rigorous testing will be
performed, including unit tests and user acceptance testing (UAT), to identify and resolve any issues
before launch. Once the application is ready, it will be deployed on the Google Play Store,
accompanied by user documentation and support resources. Post-launch, the project will include
ongoing maintenance and updates based on user feedback and performance metrics, ensuring the
application remains relevant and continues to meet evolving user needs. This agile methodology will
facilitate a responsive development process, allowing for continuous improvement and adaptation
to user requirements.

The methodology for developing the Android application is structured and iterative, beginning with
a comprehensive requirement analysis to gather user insights through surveys and interviews. This
information will inform the design phase, where wireframes and prototypes will be created to ensure
an intuitive user interface.

In the development phase, the application will be coded in Java using Android Studio, integrating
Firebase for secure user authentication and WebRTC with Jitsi for real-time video calling. Rigorous
testing will follow, including unit tests and user acceptance testing (UAT), to identify and resolve
any issues before launch.

Once testing is complete, the application will be deployed on the Google Play Store, accompanied
by user documentation and support resources. Post-launch, ongoing maintenance and updates will
be implemented based on user feedback and performance metrics, ensuring the application remains
relevant and effective in meeting user needs. This agile approach allows for continuous improvement
and adaptation throughout the project lifecycle.

10
4.2 JUSTIFICATION FOR THE METHODOLOGY

The methodology for developing the Android application will be structured and iterative, ensuring
that user needs are met effectively while allowing for flexibility throughout the development process.

1. Requirement Analysis: The project will begin with a comprehensive requirement analysis phase.
This will involve conducting surveys and interviews with potential users to gather insights into their
communication needs and preferences. This feedback will help identify essential features and
functionalities for the application.

2. Design Phase: Following the requirement analysis, the design phase will commence. Wireframes
and prototypes will be created to visualize the user interface and user experience. This phase will
focus on creating an intuitive layout that enhances usability, ensuring that users can navigate the app
easily.

3. Development: The development phase will involve coding the application using Java in Android
Studio. Key components will include integrating Firebase for secure user authentication and
implementing WebRTC and Jitsi for real-time video calling capabilities. The development will
follow best practices, with regular code reviews to maintain quality.

4. Testing: Rigorous testing will be conducted to ensure the application functions as intended. This
will include unit testing, integration testing, and user acceptance testing (UAT). Feedback from beta
testers will be crucial in identifying any issues and refining the application before launch.

5. Deployment: Once testing is complete, the application will be deployed on the Google Play Store.
Accompanying this launch will be user documentation and support resources to assist users in
navigating the app.

6. Maintenance and Updates: Post-launch, the project will include ongoing maintenance to address
any bugs and implement updates based on user feedback and performance metrics. This iterative
approach will ensure the application evolves with user needs, enhancing its relevance and
effectiveness in facilitating communication.

11
Fig 4.1 Implementation of Application

4.3 SYSTEM ANALYSIS

Analysis is an important part of any project; is analysis is not done properly then whole project move
in the wrong direction. It also provides a schedule for proper project work. Analysis task divided
into 3 areas:

1. Problem Recognition.

2. Feasibility Study.

3. Requirement Analysis.

4.4 FEASIBILITY STUDY

Feasibility study of the system is a very important stage during system design. Feasibility study is a
test of a system proposal according to its workability impact on the organization, ability to meet user
needs, and effective use of resources. Feasibility study decides whether the system is properly
developed or not. The app is built using Java and XML, utilizes Jitsi for video conferencing, and
incorporates Firebase Authentication for user login. The system is based on WebRTC for real-time
peer-to-peer communication. The Feasibility study helps us to know that whether the solution that
we have proposed is actually viable or not in the real-world scenario.

12
There are five types of feasibility as mentioned below:

1. Technical Feasibility

2. Time Schedule feasibility

3. Operational feasibility

4. Implementation feasibility

5. Economic Feasibility

4.5 TECHNICAL FEASIBILITY

Technical feasibility corresponds to determination of whether it is technically feasible to develop the


software. Here those tools are considered, which will be required for developing the project. The
tools, which are available, and tools, which will be required, are considered. Considering all above
points and aspects it is observed that the cost incurred in developing this project from a technical
perspective would not be too high. Thus, it is feasible for company as well as for me to develop this
system. Key factors assessed include:

• Development Tools: The project employs Java and XML for Android application
development. Jitsi is used for video conferencing, while WebRTC enables smooth real-time
communication.

• Resource Availability: The required software development kits (SDKs), APIs, and cloud
services are readily accessible. Firebase Authentication ensures secure user login.

• System Performance: Considering the available technology, the app will provide efficient
video calling, ensuring high-quality communication without excessive resource
consumption.

• Cost Assessment: From a technical perspective, development costs are moderate, making
the system viable for both developers and the organization.

• Infrastructure Requirements: The development requires standard computing equipment,


coding resources (Java, XML, WebRTC APIs), and cloud services. Also the cost of hiring
developers and their reimbursements.

13
4.6 TIME FEASIBILITY

Time feasibility corresponds to whether sufficient time is available to complete the project.
Parameters considered:

▪ Schedule of the project.

▪ Time by which the project must be completed.

▪ Reporting period Considering all the above factors it was decided that the allotted time that is 6
weeks was sufficient to complete the project.

4.7 OPERATIONAL FEASIBILITY

Operational feasibility corresponds to whether users are aware of interface environment and
sufficient resources are available or not. Parameters considered:

▪ People with a basic knowledge of computers would be able to use our system very effectively and
easily, as the system would have an intuitive GUI. The developers of Django have a basic operating
knowledge of computers, so understanding the working of the system and using it would be easy
from the decision maker’s point of view.

▪ All the relevant necessary resources for implementing and operating this system are already present
in office. Bearing in mind the above factor, it was observed that the cost would be incurred in
developing this project from an operational standpoint would be low. Thus, it would be operational
feasible for the company.

4.8 IMPLEMENTATION FEASIBILITY

Implementation Feasibility is about basic infrastructure required to develop the system. Considering
all below points, it is feasible to develop system. Factors considered:

▪All the minimum infrastructure facility required like PC, books, technical manuals are provided.

▪ Proper guidance is provided

▪ All necessary data and files are provided.

4.9 ECONOMIC FEASIBILITY


The economic feasibility of the Android application focuses on assessing the financial viability and

14
potential return on investment (ROI) associated with its development and deployment. Key
considerations include:

1. Development Costs: The initial investment will encompass expenses related to software
development, including salaries for developers, designers, and project managers.
Additionally, costs for tools, software licenses, and cloud services (like Firebase and Jitsi)
must be factored in.
2. Operational Costs: Ongoing operational expenses will include server hosting, maintenance,
and updates. Marketing efforts to promote the app and attract users will also require budget
allocation.

3. Revenue Model: Identifying a sustainable revenue model is crucial. Potential options


include:

o Freemium Model: Offering basic features for free while charging for premium
functionalities.

o Subscription Services: Implementing monthly or annual subscription fees for


enhanced features.

o In-App Advertising: Generating revenue through ads displayed within the app.

4. Market Demand: Analyzing market trends and user demand for communication tools will
help estimate potential user acquisition and retention rates. Understanding the competitive
landscape will also inform pricing strategies and feature differentiation.

5. ROI Projections: Estimating the potential return on investment involves projecting user
growth, revenue generation, and break-even analysis. A positive ROI will indicate that the
project is economically viable and worth pursuing.

6. Funding Opportunities: Exploring funding options, such as grants, investors, or


crowdfunding, can provide additional financial support to mitigate initial costs.

15
CHAPTER 5: DEVELOPING AND CODING
5.1 TECHNOLOGY DESCRIPTION
5.1.1 ANDROID
Android technology, developed by Google, is an open-source operating system primarily designed
for mobile devices, including smartphones, tablets, and wearables. Launched in 2008, Android has
rapidly become the most widely used mobile operating system globally, powering billions of
devices. Its open-source nature allows manufacturers and developers to customize the platform,
fostering a diverse ecosystem of devices and applications.

Core Architecture

At its core, Android is built on the Linux kernel, which provides a robust foundation for system-
level services and hardware abstraction. The architecture consists of several layers:

1. Linux Kernel: This layer manages core system services such as security, memory
management, and process management. It also provides drivers for hardware components.

2. Hardware Abstraction Layer (HAL): HAL acts as an interface between the hardware and the
Android framework, allowing developers to access hardware features without needing to
understand the underlying hardware specifics.

3. Android Runtime (ART): ART is responsible for executing applications. It includes a set of
core libraries that provide functionalities for app development, enabling developers to write
applications in Java or Kotlin.

4. Application Framework: This layer provides the necessary tools and APIs for developers to
create applications. It includes components such as Activities, Services, Broadcast Receivers,
and Content Providers, which facilitate the development of interactive and responsive
applications.

5. Android Drivers: They are an important part of android development as these facilitate the
utilization of external hardware resources and act as a middle men for hardware and software

6. Applications: The top layer consists of user-installed applications, which can be downloaded
from the Google Play Store or other sources.

16
Key Features of Android Technology are as follows: -

1. Open Source: Android’s open-source nature allows developers to access the source code,
modify it, and create custom versions of the operating system. This flexibility has led to a
wide variety of devices and applications tailored to different user needs.

2. Rich Application Framework: Android provides a comprehensive set of APIs that enable
developers to create feature-rich applications. This includes access to device hardware,
sensors, and connectivity options, allowing for innovative app functionalities.

3. User Interface (UI) Design: Android supports a variety of UI design options, including XML
layouts and Material Design principles. This allows developers to create visually appealing
and user-friendly interfaces that enhance the overall user experience.

4. Multitasking: Android supports multitasking, enabling users to run multiple applications


simultaneously. Users can switch between apps seamlessly, enhancing productivity and user
engagement.

5. Notifications: The notification system in Android allows apps to send alerts and updates to
users, keeping them informed without interrupting their current activities. Notifications can
be customized and prioritized, providing users with relevant information at a glance.

6. Security Features: Android incorporates several security measures, including application


sandboxing, permissions management, and regular security updates. This ensures that user
data is protected and that applications operate within defined security boundaries.

7. Google Play Services: This suite of services enhances app functionality by providing features
such as location services, authentication, and cloud storage. It allows developers to integrate
powerful capabilities into their applications without extensive backend development.

8. Support for Multiple Languages: Android supports multiple programming languages,


including Java, Kotlin, and C++. This flexibility allows developers to choose the language
that best suits their project requirements and expertise.

17
9. Device Compatibility: Android is designed to run on a wide range of devices, from high-end
smartphones to budget-friendly options. This compatibility ensures that applications can
reach a broad audience, maximizing their potential user base.

10. Regular Updates: Google regularly releases updates to the Android operating system,
introducing new features, enhancements, and security patches. This commitment to
continuous improvement ensures that users have access to the latest technology and security
measures.

11. Community Support: The extensive Android developer community provides a wealth of
resources, including forums, documentation, and libraries. This support network enables
developers to share knowledge, troubleshoot issues, and collaborate on projects.

Fig 5.1 Working of Android

18
5.2 ANDROID STUDIO
Android Studio is the official Integrated Development Environment (IDE) for Android application
development, designed by Google. It provides a comprehensive suite of tools and features that
streamline the development process, making it an ideal choice for building your communication app.

One of the standout features of Android Studio is its user-friendly interface, which includes a
powerful code editor with advanced code completion, refactoring, and real-time error checking. This
helps developers write clean, efficient code quickly. The IDE supports both Java and Kotlin,
allowing you to choose the programming language that best fits your project needs.

Additionally, the IDE includes an integrated emulator that allows for testing applications on different
Android devices without needing physical hardware. This is particularly useful for ensuring
compatibility across a wide range of devices, which is crucial for your app’s success.

Moreover, Android Studio integrates seamlessly with Firebase, providing tools for user
authentication, database management, and cloud storage. This integration simplifies backend
development, allowing you to focus on creating a feature-rich application.

In summary, Android Studio is a powerful and versatile IDE that equips developers with the
necessary tools to create high-quality Android applications efficiently. Its extensive features and
integrations make it an excellent choice for your project, ensuring a smooth development process
and a robust final product.

Fig 5.2 Android Studio


19
CHAPTER 6: DESIGN FOR THE APP
6.1 SYSTEM DESIGN

The system design for the Android communication app is centered around creating a robust, scalable,
and user-friendly platform that integrates user authentication and real-time video calling capabilities.
At its core, the app employs a client-server architecture, where the Android device functions as the
client, while Firebase and Jitsi servers handle backend processes. This separation allows for efficient
data management and processing, ensuring that the client can focus on delivering a seamless user
experience.

The user interface (UI) is designed with Android’s Material Design principles, providing a visually
appealing and intuitive experience. Key screens include the login and registration pages, user
profiles, and the video call interface, all of which are responsive to different screen sizes and
orientations. For user authentication, Firebase Authentication is integrated to securely manage user
accounts, handling registration, login, and password recovery while ensuring sensitive information
is encrypted.

The video calling functionality leverages WebRTC technology through Jitsi servers, managing call
initiation, termination, and media streaming to provide high-quality video and audio. Data
management is facilitated by Firebase Realtime Database, which stores user profiles and call history,
allowing for real-time updates and synchronization across devices. This ensures users have
consistent access to their information.

Security is a paramount consideration in the system design. All data transmitted between the client
and servers is encrypted using SSL/TLS protocols, and Firebase’s built-in security rules control
access to the database, ensuring that only authenticated users can access their data. Additionally, the
design accommodates future growth by utilizing cloud services that can scale based on user demand,
maintaining performance as the user base expands.

6.2 DATAFLOW DIAGRAMS


The following figure the backend schema of the website. It explains how all things are interlinked
to each other. It also verifies the role of the User who can login into the system or create a new
account in the system.

20
Fig 6.1 Firebase Authentication

6.3 DATA DESIGN

Fig 6.2 Data Design

21
This analysis may involve identifying user pain points, preferences, or behaviour trends. By
recognizing these patterns, designers can better understand user needs and make informed decisions
throughout the design process. Balancing data-driven design with intuition and creativity is essential
for producing truly effective, user-centric solutions. Databases are at the heart of virtually every
business software system. These systems typically consist of ‘source of truth’ transactional
databases..

6.4 E-R MODEL

Fig 6.3 E-R Model

The Entity-Relationship (ER) model is a crucial component in the design of the Android
communication app, as it visually represents the data structure and relationships between different
entities within the system. This model helps in understanding how data is organized and how various
components interact with one another, which is essential for effective database design and
implementation

22
CHAPTER 7: EXPERIMENTAL RESULT
7.1 SIGNUP PAGE
The signup page is vital for user acquisition and retention. A smooth and engaging registration
process can significantly impact user satisfaction and encourage new users to explore the app further.
By prioritizing usability, security, and clarity, the signup page lays the foundation for a positive user
experience, ultimately contributing to the app’s success.

Fig 7.1 Signup Page

7.2 LOGIN PAGE


The login page is a crucial entry point for users of the Android communication app, designed to
facilitate quick and secure access to their accounts. It features input fields for the username and
password, with real-time validation to ensure accuracy. A “Forgot Password?” link allows users to
recover their accounts easily. The design prioritizes simplicity and clarity, ensuring users can
navigate effortlessly. Security measures, such as password masking and optional two-factor

23
authentication, enhance user confidence. A prominent “Login” button encourages prompt access,
while links to the signup page cater to new users, fostering a seamless user experience.

Fig 7.2 Login Page

7.3 HOME PAGE


The homepage of Django is the first introduction each visitor will have to my app. From here they
can see a list of available users that are signed into their app. From here the user will have the option
to call anybody they like. Also, the user can logout at any time. The Homepage of an app is a
important parameter which determines the user’s overall view of the app. It is the first functional
page of your app.

24
Fig 7.3 Home Page

7.4 VIDEO CALL PAGE

The Video Call page of my app is main component through which users will be able to see each
other. The Jitsi video call GUI is designed with user experience in mind, offering a clean and intuitive
interface that facilitates seamless communication. Upon entering a call, users are greeted with a
simple layout featuring a central video display of participants, ensuring that interactions feel personal
and engaging.

Key functionalities are easily accessible, including mute/unmute options, video on/off toggles, and
a chat feature for text-based communication. The interface also supports screen sharing, allowing
users to present documents or applications effortlessly.

Customization options enhance the user experience, enabling participants to choose their preferred
view, whether in grid or speaker mode. Additionally, the GUI is responsive, adapting to various
screen sizes and orientations, making it suitable for both mobile and desktop users. Overall, Jitsi’s

25
video call GUI combines functionality with simplicity, making virtual meetings more effective and
enjoyable.

Fig 7.4 Video Call Page

26
CHAPTER 8: CONCLUSIONS AND FUTURE SCOPE
8.1 CONCLUSION

In an era where digital communication is more vital than ever, this Android application stands as a
testament to innovation and user-centric design. By integrating secure user authentication through
Firebase and leveraging the powerful video calling capabilities of Jitsi, the app addresses the critical
needs of modern users for both safety and connectivity.

The user authentication system is a cornerstone of the app, ensuring that users can create and manage
their accounts with ease and confidence. By utilizing Firebase, the app not only simplifies the
registration and login processes but also fortifies user data protection. This focus on security is
essential in building trust, particularly as users increasingly seek platforms that prioritize their
privacy and safety. The seamless onboarding experience encourages user engagement, making it
easy for individuals to join and participate in the community.

On the other hand, the integration of Jitsi for video calling transforms the way users interact. The
high-quality, real-time video capabilities allow for meaningful connections, whether for casual chats
with friends or important business meetings. The intuitive graphical user interface (GUI) enhances
the user experience, providing easy access to essential features such as mute, video toggle, and screen
sharing. This thoughtful design ensures that users can focus on their conversations without being
hindered by technical complexities.

In conclusion, this Android app is more than just a communication tool; it is a platform that embodies
the future of digital interaction. By prioritizing security, functionality, and user experience, it meets
the demands of today’s users while laying the groundwork for future innovations. As we continue to
navigate an increasingly digital world, this application stands ready to facilitate meaningful
connections, making it an indispensable resource for anyone looking to communicate effectively and
securely.

8.2 FUTURE SCOPE

The future of this Android application is bright, with numerous opportunities for growth and
enhancement. As user needs evolve, the app will expand its features to include group video calls,

27
enabling larger gatherings and collaborative meetings. This will cater to both personal and
professional users, fostering a sense of community.

Additionally, integrating advanced functionalities such as virtual backgrounds, real-time translation,


and AI-driven enhancements will further enrich user experience. These features will not only
improve communication but also make interactions more engaging and inclusive.

To ensure continuous improvement, user feedback will play a crucial role in shaping future updates.
Regular updates will focus on optimizing performance and introducing new tools that enhance
usability and security.

Moreover, as the app gains popularity, partnerships with educational institutions and businesses
could open avenues for specialized features tailored to their needs, such as virtual classrooms or
team collaboration tools.

Ultimately, this app aims to become a leading platform for secure and effective communication,
adapting to the dynamic landscape of digital interaction while prioritizing user satisfaction and
engagement. With a commitment to innovation, it will remain a vital resource for connecting people
in an increasingly digital world.

28
REFERENCES
[1] Firebase. (n.d.). Firebase Authentication. Retrieved from Firebase Documentation

[2] Jitsi. (n.d.). Jitsi Meet: Secure, Simple, and Scalable Video Conferences. Retrieved from Jitsi
Meet Documentation

[3] WebRTC. (n.d.). WebRTC: Real-Time Communication for the Web. Retrieved from WebRTC

[4] Android Developers. (n.d.). Build Your First App. Retrieved from Android Developers

[5] Norman, D. A. (2013). The Design of Everyday Things: Revised and Expanded Edition.
Basic Books.

[6] User Experience Design Overview: Wikipedia. (n.d.). User experience design. Retrieved
from https://en.wikipedia.org/wiki/User_Experience_Design

[7] Interaction Design Foundation. (n.d.). What is User Experience (UX) Design?. Retrieved
from https://www.interaction-design.org/literature/topics/ux-design

[8] Wikipedia. (n.d.). WebRTC. Retrieved from https://en.wikipedia.org/wiki/WebRTC

[9] Mozilla Developer Network. (n.d.). WebRTC API-Web APIs. Retrieved


from https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API

29

You might also like