You are on page 1of 69

lOMoARcPSD|30239179

Project report news - dedf

Psychology (University of Mumbai)

Studocu is not sponsored or endorsed by any college or university


Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)
lOMoARcPSD|30239179

NEWS ANDROID APP


A Project Report

Submitted in fulfillment of the


Requirements for the award of the Degree
of

BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY)


By

UTLA PRABHAS MALLESHWARRAO

Under the esteemed guidance of

PROF. SIMRAN SHAIKH

Padmashri Annasaheb Jadhav Bharatiya Samaj Unnati Mandal’s


B.N.N COLLEGE (ARTS, SCIENCE AND COMMERCE)
(Affiliated to University of Mumbai)
BHIWANDI-MAHARASHTRA-421302

DEPARTMENT OF INFORMATION TECHNOLOGY


2022-2023

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

PROFORMA FOR THE APPROVAL OF THE PROJECT

PRN No:- 1)2020016400343286 Seat No:

1. Name of the Student: UTLA PRABHAS MALLESHWARRAO

2. Title of the Project: NEWS ANDROID APP

3. Name of the Guide: PROF. SIMRAN SHAIKH

4. Is this your first submission? Yes

Signature of the Student Signature of the Guide


Date:………………… Date:……………….

Signature of the Coordinator


Date:…………………………

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Padmashri Annasaheb Jadhav Bharatiya Samaj Unnati Mandal’s


B.N.N. COLLEGE (ARTS, SCIENCE AND
COMMERCE)
(Affiliated to University of Mumbai)
BHIWANDI-MAHARASHTRA-421302

DEPARTMENT OF INFORMATION TECHNOLOGY

CERTIFICATE

This is to certify that the project entitled, "NEWS ANDROID APP" bonafied work of
UTLA PRABHAS MALLESHWARRAO bearing Seat No: submitted in partial
fulfillment of the requirements for the award of degree of BACHELOR OF SCIENCE
INFORMATION TECHNOLOGY from University of Mumbai.

______________ __________
Internal Guide Coordinator

______________
External Examiner

Date :__________________ College Seal

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

DECLARATION

I hereby declare that the project entitled, “NEWS ANDROID APP”


done at B.N.N College, has not been in any case duplicated to submit to any
other university for the award of any degree. To the best of my knowledge
other than me, no one has submitted to any other university. The project is
done in partial fulfillment of the requirements for the award of degree of
(BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY) to be
submitted as final semester project as part of our curriculum.

UTLA PRABHAS MALLESHWARRAO

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

ABSTRACT
As world’s technology is rapidly growing we has fast connection and
network to instantly connect to other person. Day to day use in mobile, tablets
and laptop is increasing, most of the people already have this facilities. In this
fast and information oriented world we need to stay updated with every
incidents and news too. This News app is android mobile application where
user have access to latest news from 120+ newspapers from 50+ countries. The
main focus of this application is to connect news articles from all around the
world and deliver it to user as fast as possible in best visualize way.

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

ROLE AND RESPONSIBILITY

It’s worth knowing the differences between roles. For adding and
managing news, content-specific roles are usually enough. But for some use
cases a more powerful role can be necessary for setting up additionalchannels or
working in a distributed environment with Spaces.

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

ACKNOWLEDGEMENT

I would like to extend our heartiest thanks with a deep sense of


gratitude and respect to all those who provides me immense help and guidance
during my period. I would like to thank my Project Guide PROF. SIMRAN
SHAIKH for providing a vision about the system.

I have been greatly benefited from their regular critical reviews and
inspiration throughout my work. I am grateful to them for their guidance,
encouragement, understanding and insightful support in the development
process. I would also like to thank my college for giving required resources
whenever I wanted and for giving the opportunity to develop the project.

I would like to express my sincere thanks to our Principal DR. ASHOK D.


WAGH and our Head of Department MR. PRAMOD L. SHEWALE for
having facilitated us with the essential infrastructure & resources without
which this project would not have seen light of the day. I am also thankful to
entire staff of Information Technology for their constant Encouragement,
suggestions and moral support throughout the duration of my project. Last but
not the least I would like to mention here that I am greatly indebted to each
and everybody my friends and who has been associated with my project at any
stage but whose name does not find a place in this acknowledgement.

With sincere regards,


UTLA PRABHAS MALLESHWARRAO

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

INDEX

Sr. No. Title Page No.


Project report certificate 1
Proforma for the approval of the project 2
Certificate 3
Declaration 4
Abstract 5
Role and Responsibility 6
Acknowledgement 7

1 Introduction 11
1.1 Project Summary 12
1.2 Purpose 13
1.3 Objective 14
1.4 Scope 15

2 Project Management and Project Planning


2.1 Project Development Approach and 16
Justification
2.2 Project Planning 17

3 Requirements and Analysis


3.1 User Characteristics 18
3.2 Hardware and Software Requirements 18
3.2.1 Developer-side Specification 18
3.2.2 User-side Specification 18
3.2.3 Software Requirements 19
3.3 Feasibility study 21
3.4 Preliminary Product Description 22

4 System Analysis
4.1 Study of Current system 23
4.2 Design Control 24
4.3 User Interface 31
4.3.1 High-level Design 32
4.3.2 Feed Publishing 32
4.3.3 Components 33
4.3.4 Functional Requirement 34
4.3.5 Non-Functional Requirement 34
4.4 Software Quality Attributes 35

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Sr. No. Title Page. No.


5 Implementation and Testing
5.1 Detailed life cycle of the project 36
5.2 Coding Details and Code Efficiency 38
5.3 Efficiency Testing Approach 40
5.4 Modifications and Improvements 46
5.5 Test cases design 47
5.6 Test Cases 51

6 Results and Discussion


6.1 Results 53
6.2 Self analysis of project viabilities 54
6.3 Summary of the project work 56

7 Conclusion
7.1 Limitations of the system 65
7.2 Future scope 66

8 Reference 67

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

LIST OF DIAGRAMS

Sr. No. Title Page No.


4.1 User Module Diagram 24
4.2 Administration Module Diagram 25
4.3 Data Flow Diagram 26
4.4 Class Diagram 27
4.5 Sequence Diagram 28
4.6 Activity Diagram 29
4.7 Gantt Chart 30

10

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

CHAPTER 1

INTRODUCTION

News apps provide a convenient and customizable way for users to access news content
that is tailored to their interests and preferences. They offer a wider range of sources and real-
time updates, making them an essential tool for staying informed about the world around us.

The online NEWS app is a revolution of NEWS industry. The traditional bookstores and
stores’ operation time, address and space is limited, so the types of news papers and Articles to
find received a degree of restriction. But the online NEWS app broke the management mode of
traditional bookstore and shop, as long as you have a mobile, you can use the news app
anywhere, saving time and effort, shortening the time of news selection link effectively. The
online news system based on the principle of provides convenience and service to people.

API (Application Programming Interface) which is an intermediate interface between


different applications. It provides automation, immediacy, adaption and personalization. News
API provides us the source of news articles from many different sources at one place and
updates it.

11

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

1.1 PROJECT SUMMARY:

A news app is a software application designed to provide users with access to news and
information from various sources, all in one convenient location. A news app can offer a
personalized news feed based on user interests, browsing history, and location. Users can also
browse news by topic, category, or source, and receive notifications for breaking news or
stories of interest.
This News app is android mobile application where user have access to latest news from
120+ newspapers from 50+ countries. The main focus of this application is to connect news
articles from all around the world a deliver it to user as fast as possible in best visualize way.
This app is a news application. This application will show the news about the world. This is
better than old conventional newspapers as you can see news anytime and anywhere now. This
will also have live updates.

12

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

1.2 PURPOSE :

In this fast moving world where people find little time to spend with their own family, it
is difficult to find time to read newspaper and stay updated with the current affairs. Reading
newspaper might sometimes be time taking considering the size of the article. Sometimes
people give the article a skip due to lethargy if it is too long. Information through listening and
visuals is quickly perceived compared to reading. To make things easier.
The purpose of a news app is to provide users with access to timely and relevant news
and information from various sources, all in one convenient location. The app is designed to
keep users informed about current events, breaking news, and other topics of interest, tailored
to their preferences and reading history.
News apps offer several advantages over traditional news media, such as newspapers or
TV news broadcasts. First, news apps provide access to news content from a variety of sources,
which allows users to get a more diverse range of perspectives on a particular topic. Second,
news apps are available 24/7, which means that users can access news at any time of the day or
night, regardless of their location. Third, news apps can offer a personalized news feed based
on user interests and browsing history, which allows users to focus on the news topics that are
most relevant to them.

13

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

1.3 OBJECTIVE:

The Objectives of the Application are:

• Provide timely and relevant news content: The primary objective of a news app is to
provide users with timely and relevant news content from various sources.
• all in one convenient location. The app should offer a personalized news feed based on
user interests, browsing history, and location.
• Increase user engagement: The app should aim to increase user engagement and
retention by offering a seamless and user-friendly experience, with intuitive navigation,
clear and concise article formatting, and options for personalization and customization.
• Generate revenue: A news app can generate revenue through various methods, such as
advertising, sponsored content, or premium subscriptions.
• Provide value to advertisers: A news app can provide value to advertisers by offering
targeted advertising opportunities based on user demographics, interests, and behavior.
• Gather data and insights: A news app can gather data and insights on user behavior,
preferences, and engagement, which can inform content recommendations,
personalization, and other app features.
• Overall, the objectives of a news app should be aligned with the needs and expectations
of its target audience, while also considering the business goals and revenue streams of
the app.

14

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

1.4 SCOPE:

The Things it can do

• Functional specification document to describe the complete system inlow level.


• User interface design for website and mobile phone for Android.

• Development of all functional requirements as proposed for the mobileapplication.


• Setting up the system on live server in ready for use condition
• we can make profit using this application.
• To provide user friendly environment

15

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

CHAPTER 2
PROJECT MANAGEMENT AND PROJECT
PLANNING

2.1 PROJECT MANAGEMENT AND DEVELOPMENT


APPROACH

In our project (News Android App) we use Agile software process model for mobile
application development. In earlier days Iterative Waterfall model was very popular to complete
a project. But nowadays developers face various problems while using it to develop a software.
The main difficulties included handling change requests from customers during project
development and the high cost and time required to incorporate these changes. To overcome
these drawbacks of Waterfall model, in the mid-1990s the Agile Software Development model
was proposed. The Agile model was primarily designed to help a project to adapt to change
requests quickly. So, the main aim of the Agile model is to facilitate quick project completion.
To accomplish this task agility is required. Agility is achieved by fitting the process to the
project, removing activities that may notbe essential for a specific project. Also, anything that is
wastage of time and effort is avoided.

16

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

2.2 PROJECT PLANNING:


Project planning is a discipline addressing how to complete a project in acertain
timeframe, usually with defined stages and designated resources.One view of project planning
divides the activity into these steps: setting measurable objectives. identifying deliverables.
scheduling.
In planning phase, plan is made and strategies are set, taking into consideration the user
requirement. Planning provides direction, unifyingframe work, performance standards, and
helps to reveal future opportunities. In Planning, the following steps are followed

• The Objectives of the projects in definite words

• Goals and stages intermediate to attain the final target

• Forecast and means of achieving goals i.e. Activities.

17

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

CHAPTER 3
REQUIREMENTS AND ANALYSIS

3.1 USER CHARACTERISTICS:

The users of the application are the owners who wish to post their properties on rent and
the tenants who wish to stay on rent. Both the parties should havethe basic knowledge of the use
of mobile and internet which may help them to use the application with ease.

3.2 HARDWARE AND SOFTWARE REQUIREMENTS :

3.2.1 Developer-side Specifications Hardware Requirements:

• Microsoft Windows 7/8/10 (32-bit or 64-bit)


• GB RAM minimum, 8 GB RAM recommended (plus 1 GB for the AndroidEmulator)
• GB of available disk space minimum, 4 GB recommended, 500 MB forIDE plus
• 1.5 GB for Android SDK and emulator system image
• 1280 x 800 minimum screen resolution

3.2.2 User-side Specifications Hardware Requirements:

• Dual Core CPU


• Minimum: Memory 512MB RAM (dependent on model size)
• Multitouch supported display.
• Display between 4.7 and 6 inches.
• Internet Drivers

18

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

3.2.3 Software Requirements:

• Android OS (Emulator)
• Android Studio

Android OS ( Emulator ) :

Android OS is one of the most versatile and popular operating systems for smartphones.
That said, if you don’t have an Android phone, you can still enjoy the platform on your
computer. And it can be done quickly using an Android emulator. An Android emulator or an
Android Virtual Device(AVD) is a software that emulates Android OS and its functionality on
your computer. Notably, it creates a virtual representation of a phone or any other device. It
then runs the Android operating system as if it was running on a physical implementation of
that device. The Android Emulator simulates Android devices on your computer so that you can
test your application on a variety of devices and Android API levels without needing to have
each physical device.
The emulator offers these advantages:

Flexibility:
In addition to being able to simulate a variety of devices and Android API levels, the
emulator comes with predefined configurations for various Android phone, tablet, Wear OS, and
Android TV devices.

High fidelity:
The emulator provides almost all of the capabilities of a real Android device. You can
simulate incoming phone calls and text messages, specify the location of the device, simulate
different network speeds, simulate rotation and other hardware sensors, access the Google Play
Store, and much more.

Speed:
Testing your app on the emulator is in some ways faster and easier than doing so on a
physical device. For example, you can transfer data faster to the emulator than to a device
connected over USB. In most cases, the emulator is the best options for your testing needs. This
page covers the core emulator functionalities and how to get started with it.
19

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Alternatively, you can deploy your app to a physical device.

In this section we include the requirements of the project. Androidstudio, Advance java and VS
code, were required to develop this system

Android Studio ( IDE ) :

Android Studio is the official Integrated Development Environment (IDE) for Android app
development, based on IntelliJ IDEA. On top ofIntelliJ's powerful code editor and developer
tools, Android Studio offers even more features that enhance your productivity when building
Android apps, such as:

• A flexible Grade-based build system

• A fast and feature-rich emulator

• A unified environment where you can develop for all Android devices

• Apply Changes to push code and resource changes to yourrunning app without
restarting your app

• Code templates and GitHub integration to help you build commonapp features and
import sample code
• Extensive testing tools and frameworks
• Lint tools to catch performance, usability, version compatibility, andother problems
• C++ and NDK support
20

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

3.3 FEASIBILITY STUDY

This study will be bring the up the existing system and the drawbacks in the existing
one, after gathering the information a note of improvements should be done to overcome in our
system. The requirements are also considered in the study such as the human effort, resources
embedding in the application.
In the system we going to propose the resources will be the PDF (should be unique
content), videos and PPT and many more. A development team will be required to acquire the
goal. Apart from this there are also few requirements will be must and without the system
cannot be introduced (Development Requirements) which are hardware and software
requirements.
The entire life cycle of the development process should be planned and kept on a track
using a development cycle to get the idea about the development and the progress we are
making. It includes the time planned for each module and its cost.

21

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

3.4 PRELIMINARY PRODUCT DESCRIPTION:

3.4.1 Benefit to organization:

• The organization will obviously be able to gain benefits such as savings the cost of the
students by providing the academics need free of cost, reduction in paperwork, having a core
hub of knowledgealong with its portability. The other benefits are improved services and faster
improvement of the students.

The initial cost :

• The initial cost of setting up the system will include the cost hardware (server/clients,
network adapter and related hardware), software (server OS, add-on software utilities) and
((setup and maintenance). The same has to bear by the organization.

Running cost :

• Besides, the initial cost the short term cost will include the providing cost of the system
manually or through goggle services (Play Store), cost for up date/renewal of various related
services.

Need for training :

• The user’s need a clear documentation of the services in thesystem and training to the system
handlers is also must.

22

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

CHAPTER 4
SYSTEM ANALYSIS

4.1 STUDY OF CURRENT SYSTEM

This System Analysis is firmly identified with prerequisites examination. It is


additionally “an express formal request done to help somebody distinguish a superior strategy
and settle on a superior choice than he/she may some way or another have made. This
progression includes separating the framework in various pieces to dissect the circumstance,
investigating venture objectives, separating what should be made and end eavoring to connect
with clients so that unmistakable prerequisites can becharacterized.
In System Analysis phase, the whole software development process, the overall software
structure and its outlay are defined. Analysis is very important in the whole development cycle
process. Any fault in the design phase could be very expensive to solve in the software
development process. In this phase, process, the software's overall structure and its nuances are
defined. This step refers to the gathering of system requirements, with the goal of determining
how these requirements will beaccommodated in the system.
Execution is measured regarding the yield given by the application. Necessity
determination has an essential impact in the examination of an application. It rests to a great
extent with the clients of the current software to give the prerequisite particulars since they are
the general population who at long last utilize the application. It is exceptionally hard to change
the software once it has been planned and then again outlining an application.
The requirement specification for any system can be broadly stated asgiven below:

• The system ought to have the capacity to interface with the currentapplication.
• The system ought to be exact.

• The system ought to be superior to the current application.

• The existing framework is totally subject to the client to play out each and every
obligation.

Similar apps are:

• Google News
• Hindustan times
23

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

4.2 DESIGN CONTROL

4.2.1 BASIC MODULE


There are two main modules in our project. They are listed below with their description.
The system should be designed in such a way that onlythe authorized people should be allowed
to access some particular modules. The records should be modified by only administrators and
no one should else. The user should be always be in control of the application and not the vice
versa. The user interface should be consistent so that the user can handle the application with
ease and the speed. The application should be visually, conceptually clear.

• USER MODULE:

Use Case Diagrams referred as behaviour diagram which describes the


commutation between actors or participations and set of actions. This is set of actions
or use cases will be enclosed by system boundary and canalso have relation with each
other. Division among tupelos will based on the information gain computed for each
attribute.

Fig. 4.1 User Module Diagram

24

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

• ADMINISTRATION MODULE:

The admin module is the major module as it is responsible for carrying out the
major operations regarding Movie updates, review updates, movie alerts etc., It
maintains information regarding other four modules. The various software components
in administrator module update, update Insert, update movie, movie information.
The details regarding complete movie is entered by admin and he want he can edit the
details once entered. The details regarding movie details such as top movies and its
information are entered and he wants he can edit the details once entered.

Fig. 4.2 Administration Module Diagram

25

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

4.2.3 Data Flow Diagram

A data flow diagram (DFD) is a graphical representation of the "flow" of data through
an information system, modelling its process aspects. A DFD is often used as a preliminary
step to create an overview of the system without going into great detail, which can later be
elaborated. DFDs can also be used for the visualization of data processing. A DFD shows what
kind of information will be input to and output from the system, how the data will advance
through the system, and where the data will be stored. It does not show information about
process timing or whether processes will operate in sequence or in parallel, unlike a traditional
structured flowchart which focuses on control flow, or a UML activity workflow diagram,
which presents both control and data, flows as a unified model.

Fig. 4.3 Data Flow Diagram

26

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

4.2.4 Class Diagram

The class diagram is the main building block of object-oriented modelling. It is used for
general conceptual modelling of the structure of the application, and for detailed modelling
translating the models into programming code. Class diagrams can also be used for modelling.
The classes in a class diagram represent both the main elements, interactions in the application,
and the classes to be programmed. It is generally giving the detailed information about the
operations and its attributes using which the entire request is handled. It as shows the linking of
the particular classes which are used in the system.

Fig. 4.4 Class Diagram

27

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

4.2.5 Sequence diagram

A sequence diagram is a Unified Modeling Language (UML) diagram that illustrates the
sequence of messages between objects in an interaction. A sequence diagram consists of a
group of objects that are represented by lifelines, and the messages that they exchange over
time during the interaction.

Sequence diagrams are commonly used in software engineering to represent the behavior
of a system or a specific feature in a system. They are particularly useful for understanding the
flow of control between objects, identifying potential errors or problems, and communicating
the system design to stakeholders.

In a sequence diagram, time flows from top to bottom, with each object represented by a
vertical line called a lifeline. The messages between objects are shown as arrows between the
lifelines, with the message name and any parameters included in the arrow. Control structures,
such as loops or conditions, can also be represented in a sequence diagram using combined
fragments.

Fig 4.5 Sequence Diagram

28

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

4.2.6 Activity Diagram

Activity diagram is a graphical representation of the workflow and the sequence of


activities used to describe the functioning of the system. This diagram shows the overall
control flow of the system. The figure shows the activity diagram of the movie rating faculty.
The faculty login leads to all the options that can be performed by the faculty. Its basic
function is to view the course taken by the faculty. Then the faculty can perform different
functions. It can view the list of different categories languages of movies and can take rating
and comment for that particular movie. Then it can either view the specific movie details or
can upload the details directly in the server.

Fig 4.6 Activity Diagram


29

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

4.2.7 Gantt Chart

A Gantt chart is a horizontal bar chart developed as a production control tool in 1917 by
Henry L. Gantt, an American engineer and social scientist. Frequently used in project
management, a Gantt chart provides a graphical illustration of a schedule that helps to plan,
coordinate, and track specific tasks in a project. Gantt charts give a clear illustration of project
status, but one problem with them is that they don't indicate task dependencies - you cannot tell
how one task falling behind schedule affects other tasks. The PERT chart, another popular
project management charting method, is designed to do this. Automated Gantt charts store
more information about tasks, such as the individuals assigned to specific tasks, and notes
about the procedures. They also offer the benefit of being easy to change, which is helpful.
Charts may be adjusted frequently to reflect the actual status of project tasks as, almost
inevitably; they diverge from the original plan.

28-sept 18-oct 07-nov 27-nov 16-dec 06-jan 26-feb

Project Selection

System Analyastic Study

Requirement Analysis Study

System Design Study

Project Implementation Study

Conclusion and Discussion

Future Enhancement

Fig 4.7 Gantt Chart

30

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

4.3 USER INTERFACE

User interface design (UI) or user interface engineering is the design of user interfaces for
machines and software, such as computers, home appliances, mobile devices, and other
electronic devices, with the focus on maximizing usability and the user experience. The goal of
user interface design is to make the user's interaction as simple and efficient as possible, in
terms of accomplishing user goals (user-centred design).

One of the factors in successful news app development is visualization ofnews and its feature
with user. For the development of an android app material design is very useful and provides
smooth experience with custom layout, views and animations. For this news app user should be
able to select from different categories, countries and newspaper.

Short News as list view with header, little description and image before showingfull article can
be helpful to user to determine what type of news they are looking for. View Holder can be
used for this list view for better and fast experience. Library like Picasso can be used for better
image handling.

Good user interface design facilitates finishing the task at hand without drawing unnecessary
attention to itself. Graphic design and typography are utilized to support its usability,
influencing how the user performs certain interactions and improving the aesthetic appeal of
the design; design aesthetics may enhance or detract from the ability of users to use the
functions of the interface. The design process must balance technical functionality and visual
elements (e.g., mental model) to create a system that is not only operational but also usable and
adaptable to changing user needs. Here are 8 things that should be considered to achieve good
user interface for the system.

The graphical user interface is presented (displayed) on the computer screen. It is the result of
processed user input and usually the primary interface for human machine interaction. The
touch user interfaces popular on small mobile devices are an overlay of the visual output to the
visual input. It has been required that every form’s interface should be user friendly and simple
to use. Besides, there should be facility of accessing the system through keyboard along with
the mouse keyboard shortcuts.

31

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

The following steps are various guidelines for User Interface Design:

• The system user should always be aware of what to do next.


• The screen should be formatted so that various types of information, instructions and
messages always appear in the same general display area.

• Message, instructions or information should be displayed long enough to allow the


system user to read them.

• Use display attributes sparingly


• Default values for fields and answers to be entered by the user should be specified.
• A user should not be allowed to proceed without correcting an error.
• The system user should never get an operating system message or fatal error

4.3.1 High-level Design

Workflows
• When Alice ask for her news feed, the system will:
• 1.Get followers: retrieve the IDs of all the users/entities that Alicefollows
• 2.Aggregate posts: retrieve latest, most popular and relevant posts forthose IDs.
• 3.Rank posts: rank the posts based on relevance and time.
• 4.Cache: cache the feeds generated and return the top 20 posts toAlice
• 5.Waterfall flow: When Alices reaches the end of those first 20 posts,another request is
sent to fetch the next 20 posts.

4.3.2 Feed publishing (Live updates)


Assume Alice follows Bob, and Bod sends a new post. The system willneed to update Alice's
news feed:

• 1.Get followers: retrieve the IDs of Bob's followers

• 2Add posts: Add the post Bob created to the news feed pool ofthose follower IDs.

• 3.Rank posts: rank the posts based on relevance and time.

• 4.Update Cache: update the ranked post into cache

32

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

4.3.3 Components

1.Web servers: maintains connections with the users.

2.Application server: executes the workflows mentioned above.3.Database and cache:

• 1.User/Entity: relational database

• 2.Post: relational database


• 3.Media (image/video): blob storge
• 4.Metadata: relational database
Dedicated services:

1.Feed generation

2.Feed notification

33

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

4.3.4 Functional Requirement

• News feed is generated using the posts from other entities in thesystem that the user
followed or the user might be interested in.
• Posts might have text, image and video.
• The new posts generated by others should be appended to the newsfeed of the user.

4.3.5 Non-Functional Requirement

• News feed generation: should happen near-real-time. The latencyseen by the end user
should be just 1~2 seconds.
• Appending new post: After a new post is sent to the system, it shouldn't take more
than 5 seconds to be able to show up in a newsfeed request.

34

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

4.4 SOFTWARE QUALITY ATTRIBUTES


Usability:

Usability defines how difficult it will be for a user to learn and operate the system. The
system should satisfy a maximum number of customer needs. No predefined skills are required
to use this system. User can easily interact with the system. Most of the tasks a user can
complete without any help. It does not have complex design so any user can easily interact.

Flexibility:

Java is one of the powerful general-purpose programming language, created in 1995 by


Sun Microsystems (now owned by Oracle). Java is Object- Oriented. Android heavily relies on
the Java programming language all the SDKs required to build for android applications use the
standard libraires of Java.

Availability:

There are no restrictions for the use of the system. The system is open for all interested
seekers. The user must have access to any hardware device with Android support and internet
connection.

Reliability:

Reliability defines how likely it is for the software to work without failure for a given
period of time. The database update process must rollback all related updates when any update
fails.

Security:

The system shall use secure sockets in all interactions that include any confidential user
information. The system shall log out all the users after a period of inactivity.

Performance:

Performance is a quality attribute that describes the responsiveness if the system to


various user interactions with it. The front-page load timemust be no more than 5 seconds.
35

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

CHAPTER 5
IMPLEMENTATION AND TESTING

5.1 DETAILED LIFE CYCLE OF THE PROJECT

Making a mobile App is no mystery in today’s time however making a successful mobile App
is a process which involves quite an extensive pre-planning.

There has been a meteoric rise in the App market in the past few years with millions of Apps in
the two prominent App stores. In such a case when the competition is so huge, also you have to
really make it stand out in function, in its use and in its design to attract the consumer’s
attention. And to achieve all this you have to get it right the very first time.

Since, it is so important for an App to be spot-on the first time hence it is necessary for
developers to follow a step by step process to building an App. We build a mobile App in
different phases and each phase has a number of steps, involved.

To understand it further – Mobile App Development Lifecycle is just a representation of the


conventional Software Development Lifecycle (SDLC) but from the perspective of a mobile
device. So let’s see the development phases

Phases:

(a) Planning

Planning phase is used to gather the requirements which will be used to develop the
system, its need in the society and what the service the system is providing.

(b) Defining
This phase will co relate the entire information and the resources which we have
collected and its uses in our development phase, where our system will use the information
based formats like PDF,videos and many more.
36

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Designing A prototype of the system will be designed exactly similar to the real-time
system we are going to develop i.e. its UI , the page format and the look and feel of the
application. Building The actual development (coding) according to the requirement is done in
this phase, which will include building the Xml design page and Java handling page in our case
(building of the modules).

(c) Testing
All the modules designed will be checked and tested to see if the desired output is
acquired from the built module.

(d) Deployment
This is the last phase of the development in which the system is handover.

37

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

5.2 CODING DETAILS AND CODE EFFICIENCY

Coding Details:

Coding is the process by which an individual researcher takes a piece of information


from legislation, policy, or any other source and translates it into a set of characteristics that
can be quantitatively analysed . Coding is the process of using a programming language to
get a computer to behave how you want it to. Every line of code tells the computer to do
something, and a document full of lines of code is called a script. Each script is designed to
carry out a job. This job might be to take an image and change its size.

Coding Efficiency:

Code efficiency is a broad term used to depict the reliability, speed and programming
methodology used in developing codes for an application. Code efficiency is directly linked
with algorithmic efficiency and the speed of runtime execution for software. It is the key
element in ensuring high performance. The goal of code efficiency is to reduce resource
consumption and completion time as much as possible with minimum risk to the business or
operating environment. The software product quality can be accessed and evaluated with the
help of the efficiency of the code used.

Code efficiency plays a significant role in applications in a high execution speed


environment where performance and scalability are paramount.

One of the recommended best practices in coding is to ensure good code efficiency. Well-
developed programming codes should be able to handle complex algorithms.

38

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Recommendations for code efficiency include:

• To remove unnecessary code or code that goes to redundant processing • To make use
of optimal memory and non-volatile storage

• To ensure the best speed or run time for completing the algorithm

• To make use of reusable components wherever possible

• To make use of error and exception handling at all layers of software, such as the user
interface, logic and data flow

• To create programming code that ensures data integrity and consistency

• To develop programming code that's compliant with the design logic and flow

• To make use of coding practices applicable to the related software

• To optimize the use of data access and data management practices

• To use the best keywords, data types and variables, and other available programming
concepts to implement the related algorithm.

• Code efficiency is a broad term used to depict the reliability, speed and programming
methodology used in developing codes for an application. • Code efficiency is directly
linked with algorithmic efficiency and the speed of runtime execution for software.

• It is the key element in ensuring high performance .

• The software product quality can be accessed and evaluated with the help of the
efficiency of the code used.

39

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

5.3 EFFICIENCY TESTING APPROACH

Software Testing has a dual function; it is used to identify the defects in program and
it is used to help judge whether or not program is usable in practice. Thus software testing is
used for validation and verification, which ensure that software conforms to its specification
and meets need of the software customer. Developer resorted Alpha testing, which usually
comes in after the basic design of the program has been completed. The project scientist will
look over the program and give suggestions and ideas to improve or correct the design. They
also report and give ideas to get rid of around any major problems. There is bound to be a
number of bugs after a program have been created. Tests are grouped together based on
where they are added in SDLC or the by the level of detailing they contain. In general, there
are four levels of testing: unit testing, integration testing, system testing, and acceptance
testing. The purpose of Levels of testing is to make software testing systematic and easily
identify all possible test cases at a particular level. There are many different testing levels
which help to check behaviour and performance for software testing. These testing levels are
designed to recognize missing areas and reconciliation between the development lifecycle
states. In SDLC models there are characterized phases such as requirement gathering,
analysis, design, coding or execution, testing, and deployment.

The Testing Process

Software testing can be stated as the process of verifying and validating whether a
software or application is bug-free, meets the technical requirements as guided by its design
and development, and meets the user requirements effectively and efficiently by handling all
the exceptional and boundary cases. The process of software testing aims not only at finding
faults in the existing software but also at finding measures to improve the software in terms
of efficiency, accuracy, and usability. It mainly aims at measuring the specification,
functionality, and performance of a software program or application

40

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Requirement Traceability

Software engineers and developers need specialized project management tools to track
testing and make sure their product meets all customer requirements. One of these tools is
requirement tracing, which can be particularly helpful for large, complicated projects. You
might use requirements tracing as an engineer or developer to record your work, coordinate
with your team or show that you fulfilled legal requirements. In this article, we discuss what
requirement traceability is and how you can use a requirement traceability matrix.
Requirement traceability is a tool used in project management of software development
projects to keep track of requirements and make sure all components have similar quality
and adequate testing. A requirement in a piece of software is a certain way that the software
should function that answers a customer request and corresponds to a certain section of code.

Testing Schedule

A Test schedule is a detailed document that describes the test strategy, objectives,
schedule, estimation, deliverables, and resources required to perform testing for a software
product. Test Plan helps us determine the effort needed to validate the quality of the
application under test. The test plan serves as a blueprint to conduct software testing
activities as a defined process, which is minutely monitored and controlled by the test
manager.

Testing strategy

The test effort, test domain, test setups, and test tools used to verify and validate a set
of functions are all outlined in a Test Strategy. It also includes schedules, resource
allocations, and employee utilization information. This data is essential for the test team
(Test) to be as structured and efficient as possible. A Test Strategy differs from a Test Plan,
which is a document that gathers and organizes test cases by functional areas and/or types of
testing in a format that can be presented to other teams and/or customers. Both are critical
components of the Quality Assurance process since they aid in communicating the breadth
of the test method and ensuring test coverage while increasing the testing effort’s efficiency.

41

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

There are types of testing that we implement. They are as follows: While deciding on the
focus of testing activities, study project priorities. For example, for an on-line system, pay
more attention to response time. Spend more time on the features used frequently. Decide
on the effort required for testing based on the usage of the system. If the system is to be used
by a large number of users, evaluate the impact on users due to a system failure before
deciding on the effort. A necessary part of the test case is a definition of the expected result.
Write test cases for invalid and unexpected as well as valid and expected input conditions.
Thoroughly inspect the results of each test.

All these phases go through the process of software testing levels.

There are mainly four testing levels are:


1. Unit Testing
2. Integration Testing
3. System Testing
4. Acceptance Testing

Each of these testing levels has a specific purpose. These testing level provide value to the
software development lifecycle.

42

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Unit Testing :

Unit testing is a type of software testing that focuses on individual units or


components of a software system. The purpose of unit testing is to validate that each unit of
the software works as intended and meets the requirements. Unit testing is typically
performed by developers, and it is performed early in the development process before the
code is integrated and tested as a whole system.

Unit tests are automated and are run each time the code is changed to ensure that new code
does not break existing functionality. Unit tests are designed to validate the smallest possible
unit of code, such as a function or a method, and test it in isolation from the rest of the
system. This allows developers to quickly identify and fix any issues early in the
development process, improving the overall quality of the software and reducing the time
required for later testing.

Integration Testing :

Integration testing is the process of testing the interface between two software units or
modules. It focuses on determining the correctness of the interface. The purpose of
integration testing is to expose faults in the interaction between integrated units. Once all the
modules have been unit tested, integration testing is performed.
Integration testing is a software testing technique that focuses on verifying the interactions
and data exchange between different components or modules of a software application. The
goal of integration testing is to identify any problems or bugs that arise when different
components are combined and interact with each other. Integration testing is typically
performed after unit testing and before system testing. It helps to identify and resolve
integration issues early in the development cycle, reducing the risk of more severe and costly
problems later on.

43

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

System Testing:

System testing is performed on a complete, integrated system. It allows checking


system's compliance as per the requirements. It tests the overall interaction of components. It
involves load, performance, reliability and security testing.

System testing most often the final test to verify that the system meets the specification.
It evaluates both functional and non- functional need for the testing. The overall system has
been checking till date to find the efficiency as well as service problems.

System Testing is carried out on the whole system in the context of either system
requirement specifications or functional requirement specifications or in the context of both.
System testing tests the design and behavior of the system and also the expectations of the
customer. It is performed to test the system beyond the bounds mentioned in the software
requirements specification (SRS). System Testing is basically performed by a testing team
that is independent of the development team that helps to test the quality of the system
impartial. It has both functional and non-functional testing. System Testing is a black-box
testing. System Testing is performed after the integration testing and before the acceptance
testing.

Acceptance testing:

Acceptance Testing is a method of software testing where a system is tested for


acceptability. The major aim of this test is to evaluate the compliance of the system with the
business requirements and assess whether it is acceptable for delivery or not.

User acceptance testing is used to determine whether the product is working for the user
correctly. Specific requirements which are quite often used by the customers are primarily
picked for the testing purpose. This is also termed as End-User Testing.

44

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Other Types of Testing:

Alpha Testing:

Alpha testing is used to determine the product in the development testing environment
by a specialized testers team usually called alpha testers.

Alpha Testing is a type of software testing performed to identify bugs before releasing
the product to real users or to the public. Alpha Testing is one of the user acceptance testing.
This is referred to as alpha testing only because it is done early on, near the end of the
development of the software. Alpha testing is commonly performed by homestead software
engineers or quality assurance staff. It is the last testing stage before the software is released
into the real world.

Beta Testing:

Beta testing is used to assess the product by exposing it to the real end-users, usually
called beta testers in their environment. Feedback is collected from the users and the defects
are fixed. Also, this helps in enhancing the product to give a rich user experience.

Beta Testing is performed by real users of the software application in a real environment.
Beta testing is one of the types of User Acceptance Testing. A Beta version of the software,
whose feedback is needed, is released to a limited number of end-users of the product to
obtain feedback on the product quality. Beta testing helps in minimization of product failure
risks and it provides increased quality of the product through customer validation. It is the
last test before shipping a product to the customers. One of the major advantages of beta
testing is direct feedback from customers.

45

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

5.4 MODIFICATIONS AND IMPROVEMENTS

Mobile apps have changed how people consume daily news, whether it is textual or
audio-visual. Most people expect news apps to be user-friendly, dynamic, and reliable.

To create a great mobile news app, don't miss out on some important features. If you look at
the most successful news applications, all of them offer a variety of features. Before starting
your own application, let's talk about the most common elements that an excellent news app
should have.

Apart from features such as likes and comments, we must step ahead and offer the user
something that increases engagement. So, allow the users an opportunity to save their favorite
articles, which they can open anytime from their profile. A similar feature is implemented on
Instagram, where you can save your favorite post.

Medium has another great feature that you can incorporate. You probably noticed that Medium
allows you to select any area of the text and share only that part. This is very clever because it
will enable the users to avoid reposting the entire incomprehensible and ridiculously long link
and share only the part of the text that interests them the most. Such a small change can take
your social shares to a whole new level.

46

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

5.5 TEST CASES DESIGN

The main purpose of test case design techniques is to test the functionalities and features of the
software with the help of effective test cases. The test case design techniques are broadly
classified into three major categories.

1. Specification-Based techniques

2. Structure-Based techniques

3. Experience-Based techniques

1) Specification-Based or Black-Box techniques:

This technique leverages the external description of the software such as technical
specifications, design, and client’s requirements to designtest cases. The technique enables
testers to develop test cases that provide full test coverage. The Specification-based or black
box test case design techniques are divided further into 5 categories. These categories are as
follows:

• Boundary Value Analysis (BVA):

This technique is applied to explore errors at the boundary of the input domain. It
catches any input errors that might interrupt with the proper functioning of the
program.

• Equivalence Partitioning (EP):

In this technique, the test input data is partitioned into a number of classes having an
equivalent number of data. The test cases are then designed for each class or partition.
This helps to reduce the number of test cases.

47

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

• Decision Table Testing:

In this technique, test cases are designed on the basis of the decision tables that are
formulated using different combinations of inputs and their corresponding outputs
based on various conditions and scenarios

adhering to different business rules.

• State Transition Diagrams:

In this technique, the software under test is perceived as a system having a finite
number of states of different types. The transition from one state to another is guided
by a set of rules. The rules define the response to different inputs. This technique can
be implemented on the systems which have certain workflows within them.

• Use Case Testing:

A use case is a description of a particular use of the software by a user. In this


technique, the test cases are designed to execute different business scenarios and end-
user functionalities. Use case testing helps to identify test cases that cover the entire
system.

2) Structure-Based or White-Box techniques:

The structure-based or white-box technique design test cases based on the internal structure
of the software. This technique exhaustively tests the developed code. Developers who have
complete information of the software code, its internal structure, and design help to design
the test cases. This technique is further divided into five categories.

• Statement Testing & Coverage:

This technique involves execution of all the executable statements in the source code
at least once. The percentage of the executable statements is calculated as per the
given requirement. This is the least preferred metric for checking test coverage.

48

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

• Decision Testing Coverage:

This technique is also known as branch coverage is a testing method in which each
one of the possible branches from each decision point is executed at least once to
ensure all reachable code is executed. This helps to validate all the branches in the
code. This helps to ensure that no branch leads to unexpected behaviour of the
application.

• Condition Testing:

Condition testing also is known as Predicate coverage testing, each Boolean


expression is predicted as TRUE or FALSE. All the testing outcomes are at least
tested once. This type of testing involves 100% coverage of the code. The test cases
are designed as such that the condition outcomes are easily executed.

Multiple Condition Testing: The purpose of multiple condition testing is to test the
different 49combination of conditions to get 100% coverage. To ensure complete
coverage, two or more test scripts are required which requires more efforts.

• All Path Testing:

In this technique, the source code of a program is leveraged to find every executable
path.

3) Experience-Based techniques:

These techniques are highly dependent on tester’s experience to understand the most
important areas of the software. The outcomes of these techniques are based on the skills,
knowledge, and expertise of the people involved. The types of experience-based techniques are
as follows:

49

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

• Error Guessing:

In this technique, the testers anticipate errors based on their experience, availability of
data and their knowledge of product failure. Error guessing is dependent on the skills,
intuition, and experience of the testers.

• Exploratory Testing:

This technique is used to test the application without any formal documentation. There is
minimum time available for testing and maximum for test execution. In this, the test
design and test execution are performed concurrently

50

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

5.6 TEST CASES

A test case is a set of conditions or variables and inputs that are developed for a
particular goal or objective to be achieved on a certain application to judge its capabilities or
features.

It might take more than one test case to determine the true functionality of the application
being tested. Every requirement or objective to be achieved needs at least one test case.
Some software development methodologies like Rational Unified Process (RUP)
recommend creating at least two test cases for each requirement or objective; one for
performing testing through positive perspective and the other through negative perspective.

Test Case Structure

A formal written test case comprises of three parts - Information consists of general
information about the test case. Information incorporates Identifier, test case creator, test
case version, name of the test case, purpose or brief description and test case dependencies.
Activity consists of the actual test case activities. Activity contains information about the test
case environment, activities to be done at test case initialization, activities to be done after
test case is performed, and step by step actions to be done while testing and the input data
that is to be supplied for testing. Results are outcomes of a performed test case. Results data
consist of information about expected results and the actual results.

Designing

Test Cases Test cases should be designed and written by someone who understands the
function or technology being tested. A test case should include the following information

• Purpose of the test

• Software requirements and Hardware requirements (if any)

• Specific setup or configuration requirements

• Description on how to perform the test(s)

• Expected results or success criteria for the test


51

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Designing test cases can be time consuming in a testing schedule, but they are worth
giving time because they can really avoid unnecessary retesting or debugging or at least
lower it. Organizations can take the test cases approach in their own context and according
to their own perspectives. Some follow a general step way approach while others may opt
for a more detailed and complex approach. It is very important for you to decide between
the two extremes and judge on what would work the best for you. Designing proper test
cases is very vital for your software testing plans as a lot of bugs, ambiguities,
inconsistencies and slip ups can be recovered in time as also it helps in saving your time on
continuous debugging and re-testing test cases.

52

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

CHAPTER 6

RESULTS AND DISCUSSION

6.1 RESULT

To ensure the stories you’re reading are accurate and trustworthy, it’s generally
recommended that you consult multiple news sources. This makes it easier to avoid
misinformation and biased sources. Apps like Flipboard let you customize your feed, making
it easy to get your news from several sources without having to download multiple apps.

its app offers users access to breaking news stories from a global network of reputable
journalists. You can follow individual topics to find the stories you care about most, and
unlike other news apps, BBC News gives you 24/7 access to World Service for live news
coverage. Users can browse the Popular section to read trending stories and watch one-
minute videos for world news summaries. News App also lets you set up notifications for
breaking news stories, share stories to social networks, and find stories related to the ones
you’ve most recently read.

53

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

6.2 SELF ANALYSIS OF PROJECT VIABILITIES

Consider your target audience and their interests, as well as any niches or gaps in the
market you can fill. User Experience (UX) Design: What will the user interface of your news
app look like, and how will it function? Will it be intuitive and easy to use, with clear
navigation and a logical information architecture? Consider the user journey and how users
will interact with your app. Technology Stack and Infrastructure: What technologies will
you use to develop and maintain your news app? Will you use a pre-built platform, or build
your own from scratch? What infrastructure will you need to support your app, such as
servers, databases, and APIs? Monetization Strategy: How will you make money from your
news app? Will you offer paid subscriptions, display ads, or use a freemium model?
Consider the revenue potential of each option, and how it aligns with your overall goals.

Marketing and Distribution: How will you promote your news app and get it in front of your
target audience? Consider your marketing channels, such as social media, email marketing,
and paid advertising. Also, consider the distribution channels you will use, such as the
Apple App Store or Google Play Store. Legal and Regulatory Compliance: Are there any
legal or regulatory considerations that you need to be aware of when developing and
launching your news app? Consider issues such as data privacy, copyright infringement, and
compliance with app store guideline.

Here are some specific project viability considerations for a news app:

• Market Analysis: Conduct a thorough analysis of the market for news apps to
determine demand and competition. Research the demographics of potential users
and identify any unmet needs or niches in the market that your app could address.

• Business Model: Develop a sustainable business model that will enable you to
generate revenue from your news app. Consider factors such as user acquisition
costs, monetization strategies (e.g. subscriptions, ads), and ongoing maintenance and
development costs.

• Development Resources: Determine what resources you will need to develop and
launch your news app. This includes technical resources such as developers and
designers, as well as other resources such as equipment and office space.
54

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

• Technical Feasibility: Assess the technical feasibility of your news app project by
evaluating the scope and complexity of the development process, and ensuring that
you have the necessary technical expertise to execute the project successfully.

• User Acquisition: Develop a strategy for user acquisition that is aligned with your
business model and marketing goals. Consider factors such as cost per acquisition,
user retention rates, and user engagement metrics.

• Content Strategy: Develop a content strategy that aligns with your target audience's
needs and preferences. Determine how you will source and curate content, and
ensure that you have a process in place to verify the accuracy and quality of the
content.

• Regulatory Compliance: Ensure that your news app is compliant with relevant
regulations and guidelines related to data privacy, copyright, and content
moderation. Consider hiring legal experts to review your app and ensure that it meets
all necessary requirements.

By analyzing these factors, you can determine the viability of your news app project and
identify potential areas of risk and opportunity

55

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

6.3 SUMMERY OF PROJECT WORK

Many students, employees and other professionals find difficulties in finding house on
rent. Also there are property owners who are searching for a platform to post their property.
We investigated such problems brought up the idea for our project. This is the best platform
for of them. Also it is such system which excludes the work of middlemen, i.e. the broker
and thus, brings transparency in the process.

A summary of a project work for an Android app typically includes an overview of the
app's purpose, features, and target audience. It should also include information about the
development process, such as the development team, methodology, and technologies used.
Finally, it should provide an evaluation of the app's success and any lessons learned during
the development process.

The summary should begin with a brief introduction to the app and its primary purpose.
This may include information on the specific problem the app aims to solve, its unique
selling point, or any notable features that set it apart from similar apps in the market.

Next, the summary should provide a high-level overview of the app's features, including
any key functionalities and user interactions. It should also describe the app's target
audience, such as demographics, user behavior, or specific use cases.

The development process should be outlined next, including details on the development
team, methodology, and technologies used. This may include information on the design
process, development tools, programming languages, and testing procedures.

Finally, the summary should evaluate the app's success, including any metrics on user
adoption, engagement, and revenue. It should also include any lessons learned during the
development process, such as unexpected challenges, areas for improvement, or
opportunities for future development.

56

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Overall, the summary of a project work for an Android app should provide a clear and
concise overview of the app's purpose, features, development process, and evaluation. It
should showcase the app's unique value proposition and provide insights into its potential for
success in the market.

Screenshots:

News Headlines:

57

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Saved News:

58

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Features:

59

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Share News:

60

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Short news read:

61

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

News channels:

62

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Detail news:

63

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

CHAPTER 7
CONCLUSIONS

News apps are an important tool for staying informed in today's digital age. They offer
users a quick and convenient way to access the latest news stories from around the world. With
news apps, users can get up-to-the-minute updates on breaking news, politics, business, sports,
entertainment, and other topics of interest.

One of the significant benefits of news apps is that they offer users the ability to customize
their news feeds based on their interests and preferences. Users can select the topics they want
to follow and receive personalized news content that is relevant to their interests. This
customization can save time and make the news consumption experience more enjoyable and
engaging.

News apps also offer users a more immersive and interactive news experience than traditional
news media, such as newspapers or television. Users can access multimedia content, such as
videos, images, and podcasts, and engage with news stories through comments, shares, and
likes.

However, with the increasing popularity of news apps, it's important to be mindful of the
sources of the news content. Not all news sources are equal in terms of accuracy and reliability.
Users should be wary of fake news or clickbait headlines and verify the accuracy of the
information before sharing or acting upon it.

In conclusion, news apps are a valuable tool for staying informed in today's fast-paced world.
They offer users a convenient and personalized way to access the latest news content, but users
should exercise caution and critical thinking when consuming news from these platforms.

64

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

7.1 LIMITATIONS OF THE SYSTEM

While news apps are a convenient way to stay informed, they do have some limitations
that users should be aware of. Here are some of the limitations of news apps:

1.Limited perspective: News apps often provide a narrow view of events. They may not cover
all aspects of a story, and the perspective presented may be biased towards a particular
viewpoint. This can lead to incomplete or inaccurate information.

2.Sensationalism: News apps rely on attracting clicks and views to generate revenue. As a
result, they may resort to sensationalizing stories or using clickbait headlines to attract users.
This can lead to a focus on sensational stories rather than accurate reporting.

3.Limited depth: News apps often focus on breaking news stories and provide only a brief
overview of events. This can result in a lack of depth and context in reporting.

4.Personalization bias: While personalization can be a benefit of news apps, it can also lead to
a personalization bias. News apps may show users content that reinforces their existing beliefs
and filter out content that challenges them, leading to a lack of exposure to diverse viewpoints.

5.Privacy concerns: News apps often collect user data, such as browsing history and location
information, to provide personalized content. This can raise privacy concerns, and users should
be aware of the data being collected and how it is being used.

6.Reliance on technology: News apps rely on technology to deliver content, and technical
glitches or failures can result in a lack of access to news content. Users should be aware of the
potential for technical issues and have backup sources of news.

In conclusion, while news apps offer many benefits, they also have some limitations that users
should be aware of. Users should exercise caution and critical thinking when consuming news
from these platforms and be aware of the potential biases and limitations of the content

65

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

7.2 FUTURE SCOPE

The future scope of a news app can be analyzed from various perspectives, including
technological advancements, user needs, and business opportunities. Here are some potential
areas of future growth and development for news apps:

• Personalization: As news consumption becomes increasingly personalized, news apps


could provide users with tailored content based on their interests, reading history, and
location. This could be achieved through machine learning algorithms that analyze user
behavior and preferences.

• Multimedia integration: With the rise of video and audio content, news apps could
integrate more multimedia elements, such as podcasts, live streams, and interactive
graphics. This could enhance the user experience and engagement with the content.

• Augmented reality (AR) and virtual reality (VR): AR and VR technologies could be
used to create immersive news experiences, such as 360-degree videos or AR overlays
that provide additional information or context.

• Integration with social media: Social media platforms are becoming an increasingly
popular source of news for many people. News apps could integrate with social media
platforms to provide users with a seamless experience, allowing them to share and
comment on articles within the app.

• Monetization opportunities: News apps could explore new revenue streams, such as
native advertising, paid subscriptions, or partnerships with other media companies. This
could help to ensure the sustainability and profitability of the app.

• Enhanced security and privacy: News apps could prioritize security and privacy
features to protect user data and prevent misinformation or fake news from spreading.
This could include features such as fact-checking, source verification, and content
moderation.

• Overall, the future scope of a news app depends on various factors, including
technological advancements, user needs, and market trends. By staying up-to-date with
these factors and innovating in response to changing demands, news apps can continue
to provide valuable and engaging content to their users.

66

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

CHAPTER 8
REFERENCES
References for a news app can include various sources of information and data that the
app uses to provide its content. Here are some examples of references that a news app may use:

1.News APIs:
Many news apps use APIs (Application Programming Interfaces) provided by news
organizations or third-party providers to fetch news articles and related data.

2.Content management systems:


News apps may also use content management systems (CMS) that allow publishers to
create and manage their content, such as WordPress, Drupal, or Joomla.

3.Social media platforms:


Some news apps may integrate with social media platforms, such as Twitter or
Facebook, to fetch news articles or allow users to share and comment on articles within
the app.

4.User-generated content:
User-generated content, such as comments or ratings, can provide valuable feedback and
engagement for news apps.

5.Location-based data:
News apps may use location-based data, such as GPS or IP addresses, to provide users
with news articles that are relevant to their location.

6.Analytics tools:
Analytics tools, such as Google Analytics or Firebase Analytics, can help news apps to
track user behavior and preferences, which can inform content recommendations and
personalization.

67

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)


lOMoARcPSD|30239179

Bibliography :

• Beginning Android Programming with Android Studio – J.F.DiMarzio


• Beginning Android Programming with Android Studio –codewithharry
• https://newsapi.org/
• https://en.wikipedia.org/
• https://www.youtube.com/
• https://www.google.com/
• https://www.geeksforgeeks.org/
• https://www.javatpoint.com/android-tutorial

68

Downloaded by ojasvi gupta (ojasvi15012003@gmail.com)

You might also like