Dailygram Proposal
Dailygram Proposal
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
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.
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
List of Tables
Acronyms
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.
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.
4
3.1.1.1 Flowchart for website navigation
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:
1
This could include news summarization, automatic genre classification, false news detection, sentiment
analysis and more
6
Chapter 4: System Requirement Specification
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:
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
[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
[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)