You are on page 1of 32

NOTE IT

A Project Report

In partial fulfillment of the degree

BACHELOR OR TECHNOLOGY

IN INFORMATION TECHNOLOGY

By

A. Sushma -19568T18104
M.Ruchitha -19568T1836
V.Navya Reddy -205681865L
N.Priyanka -19568T1837
G.Samhitha -19568T1817

Under the guidance of

SMT.VANISREE

Department of IT

Submitted to

DEPARTMENT OF INFORMATION TECHNOLOGY

UNIVERSITY COLLEGE OF ENGINEERING AND TECHNOLOGY

FOR WOMEN,

KAKATIYA UNIVERSITY CAMPUS,VIDYARANYAPURI

WARANGAL-506009,INDIA

JUNE-2022
UNIVERSITY COLLEGE OF ENGINEERING & TECHNOLOGY

FOR WOMEN,

KAKATIYA UNIVERSITY CAMPUS, VIDYARANYAPURI,

WARANGAL.

CERTIFICATE

This is to certify that A.SUSHMA(19568T1804),


M.RUCHITHA(19568T1836), NAVYA (19568T18 ) , N.PRIYANKA ( 19568T1837 ),
SAMHITHA (195681859L) of III/III B.Tech (IT)-II Semester have satisfactorily
completed the dissertation for project work entitled “NOTE IT” towards the partial
fulfilment for the award of the degree of impartial fulfillment of the award of the
degree of BACHELOR TECHNOLOGY IN INFORMATION TECHNOLOGY
engineering to the KAKATIYA UNIVERSITY. It is a record of work carried out
during the academic year 2021-2022 under our guidance and supervision.

HOD/Supervisor

(Smt.T.Vanisree)

Principal Examiner Academic Advisor External

(Dr.T.Srinivasulu) (Dr.M.Sadanandam
DECLARATION

We declare that this written submission represents our ideas in


our own words and where other’s ideas or words have been included,
we have adequately cited and referenced the original sources. We
declare that the work presented in this project report is original and
carried out in the development of Information Technology, University
College of Engineering & Technology for Women, Warangal, Telangana
and have not been submitted elsewhere for any graduate in part or in
full.

A. Sushma -19568T18104

M.Ruchitha -19568T1836

V.Navya Reddy -205681865L

N.Priyanka -19568T1837

G.Samhitha -19568T1817
ACKNOWLEDGEMENT
It plunges us in taking privilege in expressing our heartfelt
gratitude to all whose who helped, encouraged and foreseeing
successful completion of our project. Ecstasies to work under
gregarious guidance and head of department of information
technology Smt.T.Swapna to whom extremely in debt we are for her
valuable and timely suggestions. It was a pleasure for us to receive
valuable suggestions and motivating guidance during our project work
from our academic advisor Dr.M.Sadanandam. We endow our sincere
thanks to principal Prof.T.Srinivasulu for his consistent cooperation
and encouragement. Finally, we would like to thank everybody from
the bottom of our hearts for their kind cooperation in helping us to
complete our project work in time.
A. Sushma -19568T18104
M.Ruchitha -19568T1836
V.Navya -205681865L
N.Priyanka -19568T1837
G.Samhitha -19568T1817
ABSTRACT
In a busy schedule, we tend to forget many important things
easily, and to remember these things we need to note down things in a
piece of paper. In such busy schedules people need some personal
assistant or a reminder to remind them about the important work that
needs to be done. This android application will help them to remind, to
do such important things. These notes android application can help us
to note the daily task which needs to be done. Important meetings,
events etc. can be recorded with great ease through the use of this
application. This application will allow the users to organize the data in
a simpler and easy way. In this application users can view all the Notes,
likewise also can manage old and new notes. User can also change the
colour of the notes. User can grant permission for floating notes. Only 3
notes can be floated and which can be further expanded and collapsed.
These notes can also be edited and deleted.Note-taking is one of the
more common and ever-present learning activities that form an
important part of all students daily lives. The potential of using
technology to enhance note-taking activities has recently come under
the spotlight. So by taking notes, the writer records the essence of the
information,freeing their mind from having to recall everything.
CONTENTS
1.INTRODUCTION

2.LITERATURE SURVEY

3.SYSTEM ANALYSIS

3.1 Modules

3.2 Sdlc model

4.SYTEM REQUIREMENT SPECIFICATION

4.1 Software requirements

4.2 Hardware requirements

5.SYSTEM DEVELOPMENT ENVIRONMENT

5.1 Android studio

5.2 Java jdk

5.3 SqlLite

6.SYSTEM DESIGN

6.1 Design overview

6.2 Dataflow diagram

6.3 Usecase diagram

7.IMPLEMENTATION

8.TESTING

8.1 Testing strategies

8.2 Unit testing

8.3 Integration testing

8.4 White box testing


8.5 Blackbox testing

8.6 Testcases

9.RESULTS

10.FUTURE SCOPE

11.CONCLUSION

12.REFERENCES
INTRODUCTION
Despite the fact that many university lecturers have embraced
innovative teaching methods such as peer teaching and flipped
classrooms, some still spend most of their time in class, lecturing in the
traditional way as they have always done. Therefore, it is perhaps not
surprising that many students still franticly take notes in class in the
twenty-first century. Note-taking is the one activity that lecturers do
not need to actively encourage, as students seem to take notes
automatically without being prompted to do so. Regardless of previous
research that claims that computers can be used for note-taking , many
students still use the pen-and-paper method. Current researchers
support this finding by confirming that if students take notes with a
mobile device such as a laptop, they mechanically transcribe what the
lecturer is saying, which results in shallow cognitive processes. The
dilemma faced by lecturers is that students are constantly attached to
their mobile devices and that it therefore seems worthwhile to explore
ways in which those mobile devices can be used for educational
purposes.

As the process of note-taking is associated with action words and


phrases such as capture, recall, learn, remember, pay attention,
organise, record, and making understandable and legible notes, this
project focuses on the affordances of mobile devices that make it
possible for students to take cognitively demanding notes. For this
study,”affordances of mobile devices”refers to those qualities and
properties that mobile devices offer to enable cognitively demanding
note-taking, while “cognitively demanding note-taking” refers to the
cognitive processes that take place during note-taking, and not to the
note-taking itself that is cognitively demanding.
LITERATURE SURVEY
The leading note-taking apps make taking notes on the fly simple,
whether it's for promotions, ideas, business details, or reminders. Notes-
taking apps are becoming more common, not the least with widespread
availability of mobile devices, not least smartphones. This means mobile
applications for taking notes now allows you to write wherever you are,
and there is a huge range of apps available. It does not matter if you are a
telephone engineer, a secretary, or simply inspired by an idea while
commuting - the ability to take notes on mobile phones can be a real
benefit. Notepad application is an application, designed to store important
information and notes in a device. It can be used to type on their devices
just as they would on paper and you can add your to-do list in this app,
some important notes for future reference, etc. As summarized in
Introduction, the purpose of the note-taking request is to ensure that you
are able to capture the essence of information collection so you do not
have to memorize everything word by word. Now as we live in a world
where life without technology is unthinkable, our taking notes the practice
has become digital. That’s why we now have apps for taking notes. The
best note-taking apps can help you make sure you do not forget the light
of creative inspiration. Writing things down is everything well and good,
but we find it very easy to lose our notes that way. But to keep your
thoughts, ideas and electronic ideas keep them safe, secure and, best of
all, searchable for you as soon as you need it. As note-taking technology
becomes more sophisticated with the addition of pens and styli, we can
expect to see an increase in note-taking devices in classrooms in different
ways. With the support of Android Studio, we can easily build Android App
on various Android models and screen sizes.
On the other hand, we have used Java SDK to develop the native
application with SQLite database to build the backend storage to store the
data of users locally in their device itself. SQLite is an in-process library
that delivers a self-contained, serverless, transactional SQL database
engine with zero configuration. It is a zero configuration database, which
means that, like other databases, you do not need to configure it on your
system. SQLite engine is not a stand-alone process like other databases; it
can be linked statically or dynamically with your application depending on
your needs. SQLite directly accesses its storage files. To implement SQLite,
we have used Room database. It is the room persistence library. It is an
abstraction layer that sits on top of SQLite. In Android, the room is an
ORM (Object Relational Mapper) for SQLite databases. It is a component
of the Architecture. By implementing annotations, the room makes it
easier for you to use SQLite. One advantage is that it eliminates the need
for a developer to write a lot of boilerplate code to construct and manage
databases. It also validates SQL queries at compile time. This means that if
there is a SQL query error, the application will not compile. This keeps the
developer from running into run-time issues. Java is used in this project
because it is a general-purpose coding language that is object-oriented,
class-based, and designed with minimum implementation dependencies in
mind.
MODULES
The system comprises of 3 major modules with their sub-modules
as follows:

Notes: User can view all the Notes, likewise can also manage old
and new Notes.
Colors on Notes: Dynamic changes on Static Colors on the Sticky
Notes.
Floating Notes: Any 3 Notes can be Floated which further can be
Expanded & collapsed. Notes here can also be Edited and Deleted.
SDLC MODEL
The waterfall Model is a linear sequential flow. In which progress
is seen as flowing steadily downwards (like a waterfall) through the
phases of software implementation. This means that any phase in the
development process begins only if the previous phase is complete.
The waterfall approach does not define the process to go back to the
previous phase to handle changes in requirement. The waterfall
approach is the earliest approach that was used for software
development.
PROJECT REQUIREMENTS

Hardware Requirement:

1. Laptop or PC

 i3 Processor Based Computer or higher


 1GB RAM
 5 GB Hard Disk
2. Android Phone or Tablet
 1.2 Quad core Processor or higher
 1 GB RAM

Software Requirement:

1. Laptop or PC
 Windows 7 or higher.
 Java
 Android Studio
2. Android Phone or Tablet
 Android v5.0 or Higher
SYSTEM DEVELOPMENT ENVIRONMENT
For this project, we have used Android Studio, Java SDK and Room
Database for storage support to store the user data. Scanlibrary is used
basically to detect the edges of the paper while scanning the notes.
Given below is the short information of everything we have used in the
project.
ANDROID STUDIO: According to , Android Studio is Google's official
integrated development platform (IDE) Android operating system,
built on JetBrains' IntelliJ IDEA software and built specifically Android
upgrade. Available for download on Windows, macOS and Linux based
applications systems or as a subscription-based service by 2020. It
replaces Eclipse Android Development Tools (ADT) as the main IDE for
Android application development.
JAVA SDK: Java SDK stands for Java Software Development Kit. It is a
software development kit for developing software in Java. It is one of
three technology packages used by Java, namely JVM, JRE and JDK. JDK
contains a set of development tools that help to develop java-based
software. There are several versions, but Java 8 is the most widely
used. SDK tools include libraries, combinations, debugger, processes,
API, code samples, guidelines etc. SDKs are varied; has a different kind
of platform.
SQLITE DATABASE: SQLite is a type of database engine. It is a
lightweight database that enables users to interface with a relational
database. SQLite stores a database in a single file, which separates it
from other database engines. This allows for a high level of
accessibility: duplicating a database is as simple as copying the file that
stores the data, and sharing a database can be as simple as sending an
email attachment. SQLite is a significantly lighter version of SQL
database, and most SQL operations do not run-on SQLite database.
The Room strong library provides an abstraction layer over SQLite to
allow for more robust database access while harnessing the full power
of SQLite.Normally Room databases are fast created and have good
performance like reading, updating and deleting records. Room
Database makes everything easy and fast.

The Room persistence library provides an abstraction layer


over SQLite to allow fluent database access while harnessing the full
power of SQLite. In particular, Room provides the following benefits:
• Compile-time verification of SQL queries.
• Convenience annotations that minimize repetitive and error-prone
boilerplate code.
• Streamlined database migration paths.
SYSTEM DESIGN
DATAFLOW DIAGRAM

Notes management

Android
Export/share
app
Security system
application management

Data management
USE CASE DIAGRAM

A use case is a methodology used in system analysis to identify, clarify,


and organize system requirements. The use case is made up of a set of
possible sequences of interactions between systems and users in a particular
environment and related to a particular goal. It is represented using ellipse.
IMPLEMENTATION
TESTING

Software testing is a critical element of software quality assurance


and represents the ultimate review of specification, design and coding. The
increasing visibility of software as a system element and attendant costs
associated with a software failure are motivating factors for we planned,
through testing. Testing is the process of executing a program with the
intent of finding an error. The design of tests for software and other
engineered products can be as challenging as the initial design of the
product itself.

There of basically two types of testing approaches:

• One is Black-Box testing – the specified function that a product has


been designed to perform, tests can be conducted that demonstrate each
function is fully operated.

• The other is White-Box testing – knowing the internal workings of


the product, tests can be conducted to ensure that the internal operation of
the product performs according to specifications and all internal
components have been adequately exercised.

White box and Black box testing methods have been used to test this
package. All the loop constructs have been tested for their boundary and
intermediate conditions. The test data was designed with a view to check
for all the conditions and logical decisions. Error handling has been taken
care of by the use of exception handlers.

Testing Strategies:
Testing is a set of activities that can be planned in advanced and
conducted systematically. A strategy for software testing must
accommodation low-level tests that are necessary to verify that a small
source code segment has been correctly implemented as well as high-level
tests that validate major system functions against customer requirements.

Software testing is one element of verification and validation.


Verification refers to the set of activities that ensure that software correctly
implements as specific function.

Validation refers to a different set of activities that ensure that the


software that has been built is traceable to customer requirements.

The objective of software testing to uncover errors. To fulfill this


objective, a series of test steps unit, integration, validation and system tests
are planned and executed. Each test step is accomplished through a series
of systematic test technique that assist in the design of test cases. With each
testing step, the level of abstraction with which software is considered is
broadened.

Unit Testing:

Unit testing focuses verification effort on the smallest unit of


software design – the module. The unit test is always white box oriented.
The tests that occur as part of unit testing are testing the module interface,
examining the local data structures, testing the boundary conditions,
executing all the independent paths and testing error-handling paths.

Integration Testing:

Integration testing is a systematic technique for constructing the


program structure while at the same time conducting tests to uncover errors
associated with interfacing. Scope of testing summarizes the specific
functional, performance, and internal design characteristics that are to be
tested. It employs top-down testing and bottom-up testing methods for this
case.

White Box Testing:

The purpose of any security testing method is to ensure the


robustness of a system in the face of malicious attacks or regular software
failures. White box testing is performed based on the knowledge of how the
system is implemented. White box testing includes analysing data flow,
control flow, information flow, coding practices, and exception and error
handling within the system, to test the intended and unintended software
behaviour. White box testing can be performed to validate whether code
implementation follows intended design, to validate implemented security
functionality, and to uncover exploitable vulnerabilities.

White box testing requires access to the source code. Though white
box testing can be performed any time in the life cycle after the code is
developed, it is a good practice to perform white box testing during the unit
testing phase.

White box testing requires knowing what makes software secure or


insecure, how to think like an attacker, and how to use different testing
tools and techniques. The first step in white box testing is to comprehend
and analyze source code, so knowing what makes software secure is a
fundamental requirement. Second, to create tests that exploit software, a
tester must think like an attacker. Third, to perform testing effectively,
testers need to know the different tools and techniques available for white
box testing. The three requirements do not work in isolation, but together.

Black Box Testing:


Also known as functional testing. A software testing technique
whereby the internal workings of the item being tested are not known by
the tester. For example, in a black box test on software design the tester
only knows the inputs and what the expected outcomes should be and not
how the program arrives at those outputs. The tester does not ever examine
the programming code and does not need any further knowledge of the
program other than its specifications.

The advantages of this type of testing include:

• The test is unbiased because the designer and the tester are
independent of each other.

• The tester does not need knowledge of any specific


programming languages.

• The test is done from the point of view of the user, not the
designer.

• Test cases can be designed as soon as the specifications are


complete.

System Testing :

System testing validates software once it has been incorporated into


a larger system. Software is incorporated with other system elements and a
series of system integration and validation tests are conducted. System
testing is actually a series of different test whose primary purpose is to fully
exercise the computer- based system.

Once the system has been developed it has to be tested. In the


present system we have to take care of valid property and assessment
numbers i.e. there should not exist any duplicate number in each case. Care
should be taken that the appropriate data is retrieved in response to the
queries.

Validation:

The terms verification and validations are used interchangeably we


will describe both these methods. Verification is the process of determining
whether or not the products of given phase of software development fulfill
the specifications established in the previous phase. These activities include
proving and reviews.Validation is the process of evaluating the software at
the end of software development process, we find how well the software
satisfies the requirement specifications.

Testing Phase of the Project

Software testing is a critical element of software quality assurance


and represents the ultimate review of specification, design and coding.
Testing is the exposure of the system to trial input to see whether it
produces correct output.

Various types of Testing:

• Unit Testing:

Unit testing is essentially for the verification of the code produced


during the coding phase and the goal is test the internal logic of the
module/program. In the Generic code project, the unit testing is done
during coding phase of data entry forms whether the functions are working
properly or not. In this phase all the drivers are tested they are rightly
connected or not.

• Integration Testing:

All the tested modules are combined into sub systems, which are
then tested. The goal is to see if the modules are properly integrated, and
the emphasis being on the testing interfaces between the modules. In the
generic code integration testing is done mainly on table creation module
and insertion module.

• System Testing:

It is mainly used if the software meets its requirements. The


reference document for this process is the requirement document.

Acceptance Testing:

It is performed with realistic data of the client to demonstrate that the


software is working satisfactorily. In the Generic code project testing is
done to check whether the Creation of tables and respected data entry was
working successfully or not.

Test Approach:

Testing can be done in two ways

Bottom up approach

Top down approach


Bottom up approach:

Testing can be performed starting from smallest and lowest level


modules and proceeding one at a time. For each module in bottom up
testing a short program executes the module and provides the needed data
so that the module is asked to perform the way it will when embedded with
in the larger system.

Top down approach:

This type of testing starts from upper level modules. Since the
detailed activities usually performed in the lower level routines are not
provided stubs are written.
RESULTS
CONCLUSION
From the research we understood that,
currently, the popularization of the internet has led to a decline in
revenue in the paper industry, but the pen and pencil industry’s
revenue has grown in recent years. These conflicting numbers are
inconclusive in regards to whether or not students are abandoning
paper-based notetaking. Many students are taking advantage of the
electronics in the classroom. In conclusion, major benefits of the
project are:No reach limitations, it provides a user-friendly GUI which
results in retaining of users. Media attachment support and inbuilt
scanner to scan notes. Flexibility for users to generate various files of
notes such as .png, .pdf, .txt Inbuilt Passcode and biometric security.
Lightweight ROOM database.
FUTURE SCOPE
We should expect to see an increase in note-taking
gadgets in the classroom in various forms as note-taking technology
grows more sophisticated with the addition of scribe pens and styli.
We can see the possibility for transferring complicated material, such
as handwritten text or drawings, digitally, with the rise of online,
hybrid, and blended learning courses. Tools outside of the notetaking
realm are also taking up note-taking features. For example, eBooks are
now using notetaking features such as annotating, highlighting, and
underlining to mimic the experience of reading a physical book.
REFERENCES

The following books were referred during the analysis and


execution phase of the project
[1]https://academictechnologies.it.miami.edu/explore-
technologies/technology-summaries/note-taking-applications/
index.html
[2]https://medium.com/@hrishitamavani/step-by-step-guide-to-
build-document-scanner-android-app-fa774ad3772e
[3]https://developer.android.com/training/data-storage/room
[4]https://developer.android.com/docs

You might also like