A MINI PROJECT REPORT
ON
DESKTOP NOTIFIER
Submitted in partial fulfillment of the requirement
For the award of the degree of
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING
By
K. JASHWANTH : 19P61A05A7
Under the esteemed guidance of
Mr. Palem Praveen
Associate Professor
Department: CSE
December-2022
Aushapur (V), Ghatkesar (M), Hyderabad, Medchal – Dist, Telangana – 501 301.
DEPARTMENT
OF
COMPUTER SCIENCE & ENGINEERING
CERTIFICATE
This is to certify that the mini project titled “DESKTOP NOTIFIER
“submitted by K. Jashwanth (19P61A05A7) in [Link] IV-I semester
Computer Science & Engineering is a record of the bonafide work carried
out by them
The results embodied in this report have not been submitted to any
other University for the award of any degree
INTERNAL GUIDE HEAD OF THE DEPARTMENT
Mr. Palem Praveen Dr. G. Sreeram
(Associate Professor)
EXTERNAL EXAMINER
DECLARATION
I, K . J a s h w a n t h bearing hall ticket numbers (19P61A05A7) hereby declare that the
mini project report entitled “DESKTOP NOTIFIER” under the guidance of Mr. Palem
Praveen, Associate Professor, Department of Computer Science and Engineering, Vignana
Bharathi Institute of Technology, Hyderabad, have submitted to Jawaharlal Nehru
Technological University Hyderabad, Kukatpally, in partial fulfilment of the requirements for
the award of the degree of Bachelor of Technology in Computer Science And Engineering.
This is a record of bonafide work carried out by us and the results embodied in this project
have not been reproduced or copied from any source. The results embodied in this project report
have not been submitted to any other university or institute for the award of any other degree
or diploma.
[Link] (19P61A05A8)
i
ACKNOWLEDGEMENT
I’m extremely thankful to our beloved Chairman, Dr. N. Goutham Rao and Secretary,
Dr. G. Manohar Reddy who took keen interest to provide us the infrastructural facilities for
carrying out the project work.
Self-confidence, hard work, commitment and planning are essential to carry out any
task. Possessing these qualities is sheer waste, if an opportunity does not exist. So, I whole-
heartedly thank Dr. P. V. S. Srinivas, Principal, and Dr. G. Sreeram, Head of the
Department, Computer Science and Engineering for their encouragement and support and
guidance in carrying out the project.
I would like to express our indebtedness to the project coordinators, Dr. K. Kalaivani,
Associate Professor, Department of CSE, Mr. G. Srikanth Reddy, Associate Professor,
Department of CSE and Mrs. P. Subhadra , Associate Professor, Department of CSE for their
valuable guidance during the course of project work.
I thank our Project Guide, Mr. Palem Praveen, Assistant Professor, for providing us with an
excellent project and guiding us in completing our mini project successfully.
I would like to express our sincere thanks to all the staff of Computer Science and
Engineering, VBIT, for their kind cooperation and timely help during the course of our project.
Finally, I would like to thank our parents and friends who have always stood by us whenever I
am in need of them.
ii
ABSTRACT
First and foremost, a calendar and remainder app are the scheduling tools. It allows you to plan
out your day by creating blocks in a calendar. Business meetings, appointments, events, daily
reminders, work blocks, and more can be scheduled and organized through a calendar app. In
others words it also make us in advance to gain control over our respective work. Many people
have switched to calendar tools but still, some users don't use calendar apps on a daily basis
because of the expectations that doesn't meet by the application. Hence, we came up with an idea
and successfully developing a project based on desktop notifier.
iii
CONTENTS
CHAPTER PAGE NO.
1. Introduction
1.1 Introduction to the system 1
1.2 Problem Definition 1
1.3 Objectives 1
1.4 Aim of the project 2
2. Literature Survey
2.1 Existing System 4
2.2 Proposed System 4
2.3 Scope of the project 5
3. Analysis
3.1 Feasibility Study
3.1.1 Technical Feasibility 6
3.1.2 Operational Feasibility 6
3.1.3 Economical Feasibility 7
4. Hardware and Software requirements
4.1 Software requirements 8
4.2 Hardware requirements 8
5. System Design
5.1 Software Design 9
5.2 Input Design 10
5.3 Output Design 10
5.4 UML Diagrams 11-15
6. Results and Performance Evaluation
6.1 [Link] 16-18
6.2 [Link] 19-20
7. Conclusion and Future Work 24
8. References 25
List of Figures
[Link]. Figure Name Page No.
1. Use case Diagram 12
2. Class Diagram 13
3. Activity Diagram 14
4. Sequence Diagram 15
5. Home page 1 21
6. Set Date and Time 1 21
7. Home page 2 22
8. Set Date and Time 2 22
9. Sample Output 23
CHAPTER–1
1. INTRODUCTION
1.1 INTRODUCTION TO THE SYSTEM
There are bunch of schedule reminder android applications available today on play store
providing static notification to user before a specified interval of time. The static notifications
will not be proven to be useful when event time for user is considerably large with respect to
reminder set for fixed time. Also this could cause delays in arriving at event or even missing an
event. Desktop Notifier is a solution to the above problem. This is as Software user-based
reminder application which dynamically notifies user so that they can be on or before time for
an event. The application extracts event details from user daily remainders to special occasions.
The event details are assumed to be pre-entered by user in scheduler will be utilized after. It will
run in background to access the user’s current events and past events and calculate time period
and synchronize both the events.
1.2 PROBLEM STATEMENT
There are bunch of schedule reminder android applications available today on play store providing
static notification to user before a specified interval of time. The static notifications will not be
proven to be useful when event time for user is considerably large with respect to reminder set for
fixed time. Also this could cause delays in arriving at event or even missing an event.
Desktop Notifier is a solution to the above problem. This is as Software user-based reminder
application which dynamically notifies user so that they can be on or before time for an event.
The application extracts event details from user daily remainders to special occasions.
1
1.3 OBJECTIVE
The objective of this project is to identify registering a new task and taking time and date to
schedule the job. Displaying all the tasks in the form of a list and order as per the progression
facility. Keeping reminders for the task through notifications. The center of attraction of our
project is Voice Greetings. Not like other calendar and remainder apps this stand out in huge
competition of daily user-based schedulers. User can also edit/modify each schedule to set the
event accurate. By using the DSA algorithm and Python functionalities we are designing this
project for a great user experience. Further exciting features will also be added as per the
progression of the project.
1.4 AIM OF THE PROJECT
Notification support people in remembering things. It is a little piece of text with
voice that appears on the desktop screen to inform the user about the updates or any other
significant chunks of information
2
CHAPTER – 2
2. LITERATURE SURVEY
Notifications are a core function of current smart devices. They inform users about a variety of
[Link] which are visual, auditory or haptic alerts that seek to grab the attention of
the user, play a vital part in users’ interaction with content presented by their smartphones. As
explained by Iqbal and Bailey (2010) a notification “represents the proactive delivery of
information to a user and reduces the need to visually scan or repeatedly check an external
information source”. Within the research domain of Human Computer Interaction, there exists
numerous studies pertaining to understanding the nature of how users interact with smartphone
notifications. Most of the time, the goal of these research efforts is to get the message across to
the user as effectively and with as little disruption/interruption as possible. Many factors
contribute to achieving this goal, such as timeliness of notifications (Iqbal & Bailey, 2010), mode
of sensory cue (Gallud & Tesoriero, 2015), perceived sense of urgency of the message (Gallud &
Tesoriero, 2015), the nature of the relationship between the user and the sender of the message
that triggered the notification (Mehrotra et al., 2016), the nature of the application that triggered
the notification (Mehrotra et al., 2016). As such, it can be said that not all applications and
messaging channels create the same effect of interruption.
Recently more organizations have started to switch to computers to provide calendars, and
reminders, Sun Microsystems for example, is the first company that has used an internally
developed Groupware Calendar Software and has been using it for about a decade. However,
designing, building and supporting a software that is functioned to organize group tasks are really
challenging since it should be well created to cater the needs of individual users as well as
supporting group main target and [Link] some believe that this may giving others the
convenience to make conclusion about one's schedule especially when it involves setting up date
for important meeting.
3
2.1 EXISTING SYSTEM
Calendars and Remainders are useful tools for keeping track of upcoming meetings,
deadlines, and milestones. They can help you visualize your schedule and remind you of
important events, such as holidays and vacation time. There are many applications based on
these exact ideas, some of them are WunderList, Trello, Todoist etc.. But mainly they follow
the following aspects :
• Scheduled Remainders
• Date and Time display
• Productivity Progression and
• Extra features
2.2 PROPOSED SYSTEM
The Gregorian calendar is currently used by most of the world. There is also an international
standard describing the calendar, ISO 8601, with some differences from traditional conceptions
in many cultures. In today’s fast paced life, keeping track of all the events which has travel, event,
emergency schedules are tedious tasks. Though there are number of event reminder and calendar
applications available for android, none of them supports dynamic reminders based on desktop
system.
Though there are number of event reminder and calendar applications available for android, none
of them supports dynamic reminders of yearly based on desktop system.
This project also offers an important feature of voice notifications and scheduled events. With our
project we can assign multiple tasks at same accurate time with customized message with
compact storage space.
4
2.3 SCOPE OF THE PROJECT
By using this we can schedule the events or emergency alerts at our convenient times or
different time ranges. This project undergoes the organized way of tasks without any interfusing
upcoming events based on the calendar dates.
Desktop notifier application alert you using voice pop-up notifications for better understanding
towards the specific events and improves the productivity progression.
5
CHAPTER – 3
3. ANALYSIS
3.1 FEASIBILITY STUDY
The major step in analysis is to verify the feasibility of the proposed system. “All
projects are feasible given unlimited resources and infinite time“. But in reality, both
resources and time are scarce. Project should confirm to be time effective and should be
optimal in their consumption of resources. This plays a constant role in approval of any
project.
Three key considerations involved in the feasibility analysis are
• Technical Feasibility
• Operational Feasibility
• Economical Feasibility
3.1.1 Technical Feasibility
To determine whether the proposed system is technically feasible, we should take into
consideration the technical issues involved behind the system. Android project uses the
android-based technologies, which is rampantly employed these days worldwide. The world
without the internet is incomprehensible today. That goes to render that the proposed system is
technically feasible.
3.1.2 Operational Feasibility
To determine the operational feasibility of the system we should take into consideration
the awareness level of the users. This system is operationally feasible since the users are
familiar with the android technologies and hence there is no need to gear up or train the
6
personnel to use the cell phones. Also, the system (android phones) is very friendly and easy
to use.
3.1.3 Economical Feasibility
To decide whether a project is economically feasible, we have to consider various factors
as:
• Cost benefit analysis
• Long-term returns
• Maintenance costs
The proposed system is android based. It requires average computing capabilities and
access to the internet, which are very basic requirements hence it doesn’t incur any additional
economic overheads, which renders the system to be economically feasible.
7
CHAPTER – 4
4. HARDWARE AND SOFTWARE REQUIREMENTS
4.1 Hardware Requirements
• Processor: Intel Core
• RAM: 4GB
• Disk Spae:20GB
4.2 Software Requirements
• Operating System: Windows 7/8/10
• IDE: Visual studio
• Language Used: Python
• Library resources: Numpy, plyer, Tkinter, Calender, Date and Time
8
CHAPTER – 5
5. SYSTEM DESIGN
System design is the transition from a user-oriented document to programmers or
database personnel. The design is a solution, specifying how to approach to the creation of a
new system. This is composed of several steps. It provides the understanding and procedural
details necessary for implementing the system recommended in the feasibility study. Designing
goes through logical and physical stages of development. Logical design reviews the present
physical system, prepare input and output specification, details of implementation plan and
prepare a logical design walkthrough.
The database tables are designed by analysing functions involved in the system and
format of the fields is also designed. The fields in the database tables should define their role
in the system. The unnecessary fields should be avoided because it affects the storage areas of
the system. Then, in the input and output screen design, the design should be made user
friendly. The menu should be precise and compact.
5.1 SOFTWARE DESIGN
In designing the software, the following principles are followed:
• Modularity and partitioning: software is designed in such a way that; each system should
consist of hierarchy of modules and serve to partition into separate function.
• Coupling: modules should have little dependency on the other modules of a system.
• Cohesion: modules should carry out the operations in a single processing function.
• Shared use: avoid duplication by allowing a single module which is called by other, that needs
the function it provides.
9
5.2 INPUT DESIGN
Considering the requirements, procedures are adopted to collect the necessary input
data in most efficiently designed format. The input design has to be done keeping in view that,
the interaction of the user with the system should be in the most effective and simplified way.
Also, the necessary measures are taken for the following
• Controlling the amount of input
• Avoid unauthorized access to the users
• Eliminating the extra steps
• Keeping the process simple
• At this stage the input forms and screens are designed.
5.3 OUTPUT DESIGN
All the screens of the system are designed with a view to provide the user with easy
operations in a simpler and efficient way, with minimum key strokes possible. Important
information is emphasized on the screen. Almost every screen is provided with no error and
important messages and option selection facilitates. Emphasis is given for faster processing
and speedy transactions between the screens. Each screen assigned to make it as much user
friendly as possible by using interactive procedures. In other words, we can say that the user
can operate the system without much help from the operating manual.
10
5.4 UML DIAGRAMS
Unified Modelling Language
The Unified Modelling Language (UML) is a standard language for specifying,
visualizing, constructing, and documenting the artefacts of software systems, as well as for
business modelling and other non-software systems. The UML represents a collection of best
engineering practices that have proven to be successful in the modelling of large and complex
systems. The UML is a very important part of developing object-oriented software and the
software development process. UML mostly uses graphical notations to express the design of
software projects. Using the UML helps the project teams to communicate, explore potential
designs and validate the architectural design of the software.
The Unified Modelling Language (UML) is a standard language for writing software
blue prints. The UML is a language for
• Visualizing
• Specifying
• Constructing
• Documenting the artifacts of a software system.
UML is a language which provides vocabulary and the rules for combining words in
that vocabulary for the purpose of communication. A modelling language is a language whose
vocabulary and the rules focus on the conceptual and physical representation of a system.
Modelling yields an understanding of a system
11
USE CASE DIAGRAM
• Use case Diagram consists of use case and actors.
• The main purpose is to show the interaction between the use cases and the actor.
• It intends to represent the system requirements from user’s perspective.
• The use cases are the functions that are to be performed in the module.
Fig: 1 User Use Case Diagram
12
CLASS DIAGRAM
• It contains the classes involved and shows the connections between the various
classes.
• Class diagram includes classes, which further has a class label or name, attributes of
the class and the operations of functions performed by the class
Fig: 2 User Class Diagram
13
ACTIVITY DIAGRAM
• It shows the flow of the various activities that are undergone from the beginning till
the end.
• It consists of the activities that are held and carried out throughout the session from
starting till the ending stage.
Fig: 3 User Activity Diagram
14
SEQUENCE DIAGRAM
• It shows the sequence of the steps that are carried out throughout the process of
execution.
• It involves lifelines or life time of a process that shows the duration for which the
process is alive while the steps are taking place in the sequential manner.
• Sequence diagram specifies the order in which the various steps are executed.
Fig: 4 User Sequence Diagram
15
CHAPTER – 6
6. Results and Performance Evaluation
6.1 [Link]
from tkinter import *
import [Link]
from tkcalendar import Calendar, DateEntry
from datetime import date
import csv
def actual_time():
set_alarm_timer = f"{[Link]()}:{[Link]()}:00 {[Link]()}"
set_date = [Link]()
task=f"{[Link]()}"
if(set_alarm_timer!="Hour:Minute AM" and task!=""):
with open('[Link]', 'a', encoding='UTF8', newline='') as
f:
writer = [Link](f)
filed=[set_date,set_alarm_timer,task]
[Link](filed)
[Link]("Successfull","Notfication
Set Successfully")
#alarm(set_alarm_timer,set_date,task)
[Link]()
else:
[Link]("Error","Time and
16
Message Could not be empty")
clock = Tk()
[Link]("NOTIFY SETTER")
[Link]("350x200")
[Link](0, 0)
[Link]('tk::PlaceWindow . center')
notifier=StringVar()
icon = PhotoImage(file="[Link]")
[Link](True,icon)
setYourAlarm = Entry(clock,textvariable = notifier
,fg="blue",relief =
"solid",width=25,font=("Helevetica",13,"bold"))
# The Variables we require to set the alarm(initialization):
hour= StringVar()
[Link]("Hour")
min= StringVar()
[Link]("Minute")
sec= StringVar()
[Link]("AM")
date = StringVar()
addTime = Label(clock,text =
"TIME:",font=("Helevetica",13,"bold"))
addDate = Label(clock,text =
"DATE:",font=("Helevetica",13,"bold"))
message = Label(clock,text =
"MESSAGE:",font=("Helevetica",13,"bold"))
hr=
OptionMenu(clock,hour,"01","02","03","04","05","06","07","0
8","09","10","11","12")
17
mi=OptionMenu(clock,min,"00","01","02","03","04","05","06
","07","08","09","10","11","12","13","14","15","16","17","18",
"19","20","21","22","23","24","25","26","27","28","29","30","
31","32","33","34","35","36","37","38","39","40","41","42","4
3","44","45","46","47","48","49","50","51","52","53","54","55
","56","57","58","59")
sd=OptionMenu(clock,sec,"AM","PM")
cal = DateEntry(clock,textvariable = date,width= 8,
background= "magenta3", foreground=
"white",bd=2,font=("Helevetica",13,"bold"))
[Link](relx=0,rely=0)
[Link](row = 1, column = 0, sticky = W, pady = 3)
[Link](row = 0, column = 1, sticky = W, pady = 3)
#[Link](row = 1, column = 1)
[Link](relx=0.26, rely=0.16)
#[Link](row = 1, column = 2)
[Link](relx=0.46, rely=0.16)
#[Link](row = 1, column = )
[Link](relx=0.69, rely=0.16)
[Link](row = 2, column = 0, sticky = W, pady = 3)
[Link](row = 2, column = 1, sticky = W, pady = 3)
#To take the time input by user:
submit = Button(clock,text = "Set Notify",fg="red",width =
10,command = actual_time)
[Link](relx=0.5, rely=0.6, anchor=CENTER)
[Link]()
#Execution of the window.
18
6.2 [Link]
import time
import datetime
from plyer import notification
import pyttsx3
engine = [Link]()
[Link]("rate",100)
[Link]("volume",1)#full volume 1 or 0 for minimal
volume
voice = [Link]('voices')
[Link]("voice", voice[1].id)#0 for male 1 for
female
def checkNotification():
while True:
[Link](1)
current_time = [Link]()
date = current_time.strftime("%m/%d/%y")
now = current_time.strftime("%I:%M:%S %p")
fileName = open("C:\\Notifier\\[Link]","r")
for line in fileName:
line = [Link](',')
#print(line[1]," ",now)
if date==line[0] and now==line[1]:
[Link](
title="Notification that you set",
message=line[2],
19
app_name="Notifier",
#app_icon="[Link]",
timeout=50
)
[Link](line[2])
[Link]()
"""with open('[Link]', 'r')as file:
csvFile = [Link](file)
for line in csvFile:
if date==line[0] and now==line[1]:
[Link](
title="Notification that you set",
message=line[2],
app_name="Notifier",
#app_icon="C:\Alarm Clock Using Python With
Source Code\[Link]",
timeout=50
)
[Link](line[2])
[Link]()
"""
#break
if __name__ == '__main__':
checkNotification()
20
Fig:5 Home Page 1
Fig:6 Set Date and Time 1
21
Fig:7 Home Page-2
Fig:8 Set Date and Time 2
22
Fig:9 Sample Output
23
CHAPTER – 7
7. CONCLUSION
This project is intended to be more useful than existing schedule reminder application by offering
dynamic notifications to user. The application manages the event schedules for user by keeping
track of all the scheduled events. It runs in background to access user’s current updates and also
calculates the events of time needed depending upon the mode of commute. The calculation
results are then used to notify user dynamically. This project also offers an important feature of
voice notifications. The feature is developed using Python. The proposed algorithm will help in
the identifying and tracking user information. By introducing more features, user experience can
be enhanced and utilized.
FUTURE WORK
In future it may come up with the occasion based notification options and suggestion [Link]
addition to the voice notifications it also add some cool features like live Gifs and vedio
notifications in upcoming days.
24
8. REFERENCES
[1] Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object
detection and semantic segmentation. In the Proc. of IEEE Conference on Computer Vision and
Pattern Recognition, pp. 580-587, 2014.
[2] L. Neumann and J. Matas. Efficient scene text localization and recognition with local
character refinement. In the proc. of Int. Conf. on Document Analysis and Recognition, pp.
746750, 2015.
25