0% found this document useful (0 votes)
80 views13 pages

Dailygram Proposal

This project proposal outlines a news aggregation website called "Dailygram" that will collect news headlines and articles from trusted news sources to help reduce the sharing of fake news. The website will include features like user login/comments, a voting system to surface more credible news, and will pull stories from international and national news sites. The project will be developed using Python for the backend, JavaScript for the frontend, and MongoDB for the database. The goal is to provide a single location for users to access headlines from different perspectives and help validate news stories.

Uploaded by

Suman Pokhrel
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)
80 views13 pages

Dailygram Proposal

This project proposal outlines a news aggregation website called "Dailygram" that will collect news headlines and articles from trusted news sources to help reduce the sharing of fake news. The website will include features like user login/comments, a voting system to surface more credible news, and will pull stories from international and national news sites. The project will be developed using Python for the backend, JavaScript for the frontend, and MongoDB for the database. The goal is to provide a single location for users to access headlines from different perspectives and help validate news stories.

Uploaded by

Suman Pokhrel
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/ 13

Kathmandu University

Department of Computer Science and Engineering


Dhulikhel, Kavre

A Project Proposal
On
“Dailygram”
[Code No: COMP 207]
(For the partial fulfillment of 2nd Year/ 2nd Semester in Computer Science)

Submitted by:
Ayush Bajracharya (04)
Utsav Maskey (28)
Diwas Shrestha (47)
Oshan Shrestha (50)
Jenny Tamang Waiba (59)

Submitted to:
Department of Computer Science and Engineering

Submission Date: 10th July, 2020


Abstract

Reliable news has become a necessity in these times of fake news circulation in the
social media. With this project, we hope to reduce the sharing of fake news in social
media, by providing articles published by genuine news organization in a website.
Our project will be a collection of news from many news websites which will make
it easier for the consumer to see all the headlines in one place, instead of having to
visit every news portal individually. Our project will include a login, comments
and a voting system, which the users can use to up vote a post which they think
provided a good explanation of the news story or down vote the post if they think
the news is biased. This will also allow the user to view the trending news first. We
will be getting the story from international and national news sites. The site will
feature the headlines and links of the articles and their heading images only. This
project is to be done mainly in python for the back-end, JavaScript for front-end
website design while using MongoDB for the database. In conclusion, this project
will be a collection of news headlines from trusted newspapers to help the user get
the news from different sources in a single place to help prevent fake news.

Keywords: News Aggregate Website, Voting System, Python, JavaScript,


MongoDB, Natural Language Processing.

II
Contents

Abstract ................................................................................................................. II
Acronyms ............................................................................................................ IV
Chapter 1: Introduction ....................................................................................... 1
1.1 Background .................................................................................................. 1
1.2 Objective ...................................................................................................... 2
1.3 Motivation and Significance ........................................................................ 2
Chapter 2: Related Works / Existing Works ...................................................... 3
Chapter 3: Procedure and Methods .................................................................... 4
Overview: ........................................................................................................... 4
3.1 Web Application: .......................................................................................... 4
3.1.1 User Login/Registration ........................................................................ 4
3.1.2 User Interactions ................................................................................... 5
3.2 API and microservices: ................................................................................. 6
3.2.1 Login system: ......................................................................................... 6
3.2.2 News extraction and review: .................................................................. 6
3.3.3 Information processing: ......................................................................... 6
Chapter 4: System Requirement Specification .................................................. 7
4.1 Software Specification ................................................................................. 7
4.1.1 Front End Tools: .................................................................................... 7
4.1.2 Back End Database: ............................................................................... 7
4.1.3 Development Tools: ............................................................................... 7
4.1.4 Python Library Dependencies: ............................................................... 7
4.2 Hardware Specification ................................................................................ 7
Chapter 5: Project Planning and Scheduling .................................................... 8
References ............................................................................................................. 9

III
List of Figure

Figure Page No.

3.1.1.1 Flowchart for website navigation ................................................................ 5


3.1.2.1 Flowchart representation of users' action on the article post. ..................... 5
3.1.2.1 Backend Design .......................................................................................... 6
5.0.1 GANTT Chart ................................................................................................ 8

List of Tables

Table Page No.

Table 4.1.1 Python Library Dependencies Table .................................................... 7


Table 5.1 Legend of GANTT Chart ........................................................................ 8

Acronyms

RAM Random Access Memory


CPU Central Processing Unit
JS JavaScript

IV
Chapter 1: Introduction

Reliable news has become a necessity in these times of fake news circulation in the
social media. Fake news has been published by unreliable sources to promote
propaganda or for click-bait purposes. With this project we hope to reduce the
sharing of fake news in social media, by providing articles published by genuine
news organization in a website. With all the news compiled in one place with
different sources, the user can distinguish between real and fake news effectively.

1.1 Background

News aggregate websites help the user consume a lot of the news in the internet in
one place with ease. Google has its own news aggregate service called Google
News[1] that has headlines of the news from all over the world. Google news tries
to remain neutral in its presentation of the news but a few sensationalized headlines
do get away. The service covers news articles appearing within the past 30 days on
various news websites. In total, Google News[1] aggregates content from more than
20,000 publishers. Our project will cover news from Nepali news sites and
international news sites. The same news story from different sources will be
grouped together to ensure that the news is genuine. A voting system to sort the
news will be implemented to sort the news based on the ratio of good votes to bad
votes. This will sort the news based on the users of the websites preference and the
trending news as well. The comments section will be a good place to discuss the
news after reading the articles and the user can judge and share their opinions of the
headline.

1
1.2 Objective
 To provide a news aggregate service.

 To reduce the number of fake articles circulated in social media.

 To have a discussion about the news.

 To provide genuine information.

1.3 Motivation and Significance


With fake news running rampant in social media and the users having no way to
verify the news they share, the amount of propaganda and misinformation being
shared has become a problem and a nuisance. Sharing fake news may make the user
and their followers have an opinion based on wrong information. At best the result
of fake news will be an argument between two individuals; the worst may become
a movement based on unscientific data and opinions that may harm people. The flat
earth movement is an example of the former and the Anti-Vaccination movement is
an example of the latter. Fake news may also be a means for shady individuals to
push a narrative that benefits the individual financially. With our service, we hope
to reduce the amount of fake news and sensationalized headlines for the benefit of
people who cannot tell the difference between genuine news articles and inferior
articles. If the headline is sensationalized, the voting and comments system will help
the user to see the good news first and the comments to discuss the short-comings
of the article.

2
Chapter 2: Related Works / Existing Works

Google News[1]:
Google News[2] is a news aggregator app developed by Google. It presents
continuous flow of articles from thousands of publishers and magazines. It is
available as an app on Android, iOS and the Web. Users can request e-mail "alerts"
on various keyword topics by subscribing to Google News Alerts.

Hamro Patro[3]:
Hamro Patro[4] started as a calendar application developed by Shankhar Raj
Uprety. These days, the application and website show latest news, exam routines
and foreign exchange rates. It has recently introduced a separate news mining
engine called Nepali News Mining Engine.

Techmeme[5]:
Techmeme[6] is a technology news aggregator. It was developed by Gabe Rivera.
Techmeme uses an algorithm to order stories by importance, which depends on
several factors that include the number of links to the story's web page and how
old the story is. Techmeme works by scraping news websites and then compiles a
list of links to the most popular technology news of the day.

3
Chapter 3: Procedure and Methods

Overview:
The main objective of this project, in technical terms, is to build a web interface for
users to collectively participate in the filtration of news articles from different
online news portals at one place. The project will include two sub-groups, each to
develop an independent service application. One of these services being the website
– built with JavaScript on NodeJS environment, to provide users with a web
interface, and the other will be an API, developed in Python to aid the web-front in
web scrapping, data filtration, user data handling and database integration.

This project will be incorporating Distributed Agile Software Development


Lifecycle[7] which means that there will be rapid and iterative study and
development of different parts of the project consecutively. Individual project
members will be remotely coordinating in the development on their respective parts
of the project.

3.1 Web Application:


The web application will be the main interface for users to interact with the system
of this project. The web application will be adequately featured with functionalities
of a production level application. Users’ login information will be stored in browser
as session id and every request the user makes will be referencing the session data
stored in the browser for the authorization and security.

3.1.1 User Login/Registration


The application will feature a generic and simple login & registration system. A
new user will need to fill a small form with their email address, name, and their
password. The user will need to verify their email address before they can be logged
in. Once their account has been created and their email has been verified, they can
use the application with full access as any other registered user. The user will only
need their email address and their password.

4
3.1.1.1 Flowchart for website navigation

3.1.2 User Interactions


The users’ action will themselves determine the authenticity and quality of the news
articles. Users will upvote or downvote or even comment on the post, which will
play crucial role for others to determine the quality of the article.

3.1.2.1 Flowchart representation of users' action on the article post.

5
3.2 API and microservices:
Our web application will be powered by
python[8] backend that communicates
with the front-end application using a
request-response system. We will
preferably be using Flask[9] to model our
API. The backend design can be
categorized into 3 distinct
microservices:

3.1.2.1 Backend Design

3.2.1 Login system:


This section mostly deals with user registration, login authentication and session
handling for the login. User credentials and corresponding data are validated,
handled and stored in the database.

3.2.2 News extraction and review:


We focus on accumulating news in two ways. In most cases, our bot could extract
news from news APIs. If incase there exists no such API on some news portal, we
would be collecting its web data using web-scraping tools. This section therefore
concerns mostly on content extraction. Comments, reviews and voting elements are
also handled accordingly.

3.3.3 Information processing:


This service focuses on news data processing. It performs operations such as text
filtering, removing unwanted tags from news and processing links. Furthermore, if
time permits, we could extend this project to include natural language processing1
aspects into news data.

1
This could include news summarization, automatic genre classification, false news detection, sentiment
analysis and more

6
Chapter 4: System Requirement Specification

4.1 Software Specification

4.1.1 Front End Tools: JavaScript (React JS)[10]


4.1.2 Back End Database: MongoDB[11]
4.1.3 Development Tools: VS Code, JS Console
4.1.4 Python Library Dependencies:

Python Library Version


Flask 1.1.2
Beautiful Soup[12] 4.9.1

Table 0.1.1 Python Library Dependencies Table

4.2 Hardware Specification


 CPU: Entry level SOC
 RAM: 2 GB of RAM Recommended
 System Memory: 25MB of free space2

2
Memory used for local storage and cache

7
Chapter 5: Project Planning and Scheduling

This section presents our proposed timings for various tasks of the project. We
collectively divide our tasks into five main categories. The work breakdown with
time required to complete the specific task are shown as in the Gantt chart below:

5.0.1 GANTT Chart


Table 4.1 Legend of GANTT Chart

Legend
Tasks Sub-categories
Project Proposal Proposal Writing
Login System
Frontend Web Application
Login System
Backend News Extraction
Documentation Report Writing
Further improvements Information processing

8
References

[1] Google News. (2020). Retrieved July 07, 2020, from https://news.google.com/

[2] Google News. (2020, July 02). Retrieved July 07, 2020, from
https://en.wikipedia.org/wiki/Google_News

[3] Patro, H. (2020). Nepali Calendar 2077: हाम्रो नेपाली पात्रो २०७७: Hamro Nepali
Patro. Retrieved July 07, 2020, from https://www.hamropatro.com/

[4] Hamro Patro. (2020, June 15). Retrieved July 07, 2020, from
https://en.wikipedia.org/wiki/Hamro_Patro

[5] Techmeme. (2020). Retrieved July 07, 2020, from


https://www.techmeme.com/

[6] Techmeme. (2020, May 31). Retrieved July 07, 2020, from
https://en.wikipedia.org/wiki/Techmeme

[7] Agile software development. (2020, July 03). Retrieved July 07, 2020, from
https://en.wikipedia.org/wiki/Agile_software_development

[8] Python. (2020). Retrieved July 07, 2020, from https://www.python.org/

[9] Flask (web framework). (2020, July 04). Retrieved July 07, 2020, from
https://en.wikipedia.org/wiki/Flask_(web_framework)

[10] React (web framework). (2020, June 24). Retrieved July 07, 2020, from
https://en.wikipedia.org/wiki/React_(web_framework)

[11] MongoDB. (2020, July 03). Retrieved July 07, 2020, from
https://en.wikipedia.org/wiki/MongoDB

[12i]Beautiful Soup (HTML parser). (2020, June 02). Retrieved July 07, 2020,
from https://en.wikipedia.org/wiki/Beautiful_Soup_(HTML_parser)

You might also like