Download as pdf or txt
Download as pdf or txt
You are on page 1of 72

TITLE OF PROJECT REPORT

Todolist app

A PROJECT REPORT
Submitted by
Milind Goel

NAME OF THE CANDIDATE(S)


Milind Goel (21MCA2713)
IN
BRANCH OF STUDY
MCA

Chandigarh University
MONTH & YEAR
February-June 2023
BONAFIDE CERTIFICATE

Certified that this project report “Todolist” is the bonafide work of “Milind
Goel” who carried out the project work under my/our supervision.

SIGNATURE SIGNATURE
Ms. Jasmeet Kaur Dr. Abdullah
SUPERVISOR HEAD OF THE DEPARTMENT

Assistant Professor
University Institute of Computing University Institute of Computing

Submitted for the project viva-voce examination held


on_____________________

INTERNAL EXAMINER EXTERNAL EXAMINER


ACKNOWLEDGMENT

I put forth a lot of effort on this project. However, it would not have been
possible without the kind support and cooperation of numerous
individuals and organisations. I'd want to extend our heartfelt
appreciation to each of them. I am grateful to Ms. Jasmeet Kaur for his
advice and ongoing supervision, as well as for supplying vital project
information and assisting with the project's completion. I'd like to thank
our parents and members of Chandigarh University for their assistance
and encouragement in completing this endeavour.
TABLE OF CONTENTS

Chapter 1: Introduction
(Including Identification of client & need, Relevant contemporary issues,
Problem Identification, Task Identification, Timeline, organization of the
report)

Chapter 2: Literature survey


Timeline of the reported problem as investigated throughout the world,
bibliometric analysis, proposed solutions by different researchers,
summary linking literature review with the project, Problem Definition,
Goals and Objectives.

Chapter 3: Design flow/Process


Concept Generation, Evaluation & Selection of Specifications/Features,
Design Constraints– Regulations, Economic, Environmental, Health,
manufacturability, Safety, Professional, Ethical, Social & Political Issues
considered in design, Analysis and Feature finalization subject to
constraints, Design Flow (at least 2 alternative designs to make the
project), Best Design selection (supported with comparison and reason)
and Implementation plan ((Flowchart /algorithm/ detailed block diagram).

Chapter 4 Results analysis and validation


Implementation of design using Modern Engineering tools in analysis,
design drawings/schematics/ solid models, report preparation, project
management, and communication,
Testing/characterization/interpretation/data validation.

Chapter 5: Conclusion and future work


LIST OF FIGURES

Gantt chart

Multiple design alternatives

1. Introduction screen
2. Home UI

Best design selection

1. Introduction screen
2. Home UI
3. Settings UI

Implementation chart

Waterfall model

ER diagram

Use case diagram

Flow diagram

Activity flowchart

Class diagram

Sequence diagram
LIST OF TABLES

Todo Schema Table

Test Cases Table


CHAPTER 1: INTRODUCTION

II. Introduction

Learning describes the method of acquiring and comprehending


information. Human learning occurs as part of education or self
development, which includes a variety of activities. Taking notes is one
of these activities that is done to gain knowledge and improve educational
objectives.

Taking notes has always been an important part of human development.


On important topics, Greece developed the hypomnema - personal
records. Students in the early modern period took notes in schools,
academies, and universities, creating beautiful volumes that were used for
reference after they finished their studies.

It aids students in learning, remembering, and recalling information.


Taking notes causes you to reconsider the subject; it forces you to
reconsider your perspective. Because you're actively listening and
participating in class, it also helps you focus during a lecture. Not only
students can benefit from taking good notes; almost anyone who works
with written text should figure out the best way to take notes.

Recently, the use of technology in education has evolved, and teaching


methods is beginning to change the ways educators teach and students
learn. Significant evidence indicates that existing technologies are
appealing, introducing better ways to teach and learn.
Technology has primarily provided special devices to improve education
and learning methods through the development of various systems and
applications to facilitate learning activity. There is a global effort to
improve educational experiences; thus, it is conceivable that in the future,
most devices will be integrated with standard note taking capabilities
using pen-based technology to replace traditional note taking. Similarly,
technology has begun to develop new environments to support education,
such as using projectors to replace blackboards; slides are presented from
the computer rather than writing on the blackboard; microphone, digital
pen, laser pointer, and web-based courses.

There has been huge increase in the percentage of every student whether
from primary to higher education due to the availability of portable
students which they can carry at any place and learn almost anything on
the go.

Taking notes allows you to go over important points from your research,
reading, or listening or whether you are noting down information to be
handled in the future time in the form of simple todo. Making a list of
notes is also practiced to manage time in the most efficient manner.
III. Client Identification and Recognition of Need

Taking notes forces you to pay attention and aids your ability to
concentrate (or while reading a textbook).

It aids in your learning. According to research on learning, constantly


involving with the topic by listening and then summarising what you hear
helps you understand and retain the knowledge later.

It aids in the keeping of records. You were in math class last Tuesday, but
that doesn't mean you recall what happened (and what might appear on a
quiz). Notes are a record of what you took away from the classroom—as
well as what you need to go over again.

Notes/todos have been transferred from the page to the screen. Note-
taking has become even more important, and almost a requirement, for
students and educators alike, thanks to technological advancements to
create notes or task on mobile devices. Softwares are now used as online
learning records, helping to build a system for managing learning and
allowing learners to become involved in effective self-assessment while
also allowing educators to easily track and record progress. These
softwares have made it easier to manage and share your notes while also
making them more accessible.
IV. Recognition & knowledge of relevant contemporary issues

Note­taking is considered to be a complicated process because it requires


several steps from comprehension and information selection to written
production. In terms of functionality, components, and effects on learning
behaviour and outcomes, taking notes is a complex activity.

Difficulties in visualising standard notetaking tasks as digital functions


are significant challenges due to numerous theoretical constraints, such as
functional requirements, notetaking strategies, and working memory. As
a result, in the digital world, a complex traditional activity tends to be
more difficult to represent.

Creating an appropriate graphical user interface for any note­taking tools


is a serious aspect of the creation of a note­taking system. The interface is
critical for user acceptance when replacing digital note taking tools.
Different activity tasks are supported by note­taking tools, such as tools
for classroom interaction, collaboration, material review, and event
monitoring and control. As a result, tools differ in terms of features and
learning support, resulting in a variety of interface elements.

Current note­taking techniques were designed with different interfaces,


resulting in task completion in various perspectives. Current user
interfaces primarily distract and reduce user attention and focusing.

Overall, numerous tools must be developed, various criteria must be


considered, and various disciplines must be involved in the digital note
development process. Furthermore, the type of technology and gadgets
should be considered, as well as numerous constraints and limitations.
However, no studies have been conducted to describe the roles and
identify any standard criteria for the development of a typical note­taking
application. There has yet to be any research that has investigated,
defined, or suggested a structure, guidelines, or metrics for the process of
note taking developments. To simplify the process of developing a
note­taking system according to the properties, activities, and features of
traditional notes, guidelines are required.

The limitations of current both software and hardware devices in


imitating the notetaking process, as well as socioeconomic issues, add to
the complexity of developing a notetaking application and prevents
electronic note taking from becoming widespread.

The complexity of using a computing device for notetaking can be cited


as a reason for digital note taking limitations [8]. Furthermore, a number
of obstacles and restrictions on functionality, availability, and
performance for designing suitable note taking tools have indeed been
clearly observed.
V. Project Identification

Taking notes is one of those widespread but highly private activities.


Everybody takes notes, whether it's as simple as making a shopping list or
writing down a phone number or as systematic as writing up detailed
book summaries or minutes of meetings. For some, notes are simply
text—perhaps with a few headings and bullets.

The "todolist" project is the new cutting-edge tools in the world of note
taking software’s that can manage your work schedule in the way you
want in a very friendly, easy, and hassle-free manner. With the support
for all android and iOS versions, users will be able to download and use
the tool with ease.

The project aims to deliver an application made with a good design


system that is fast and easy to use. I use the latest material you design a
system that syncs well with the color scheme being used on the user's
device. It is made using cross-platform language which can be bundled
and installed on multiple supporting operating systems from a single
codebase. It also features firebase services for providing analytics and
delivering crash-free applications to the end user. It features cloud
syncing so that all the notes and notes can be retrieved on any device
when used by the same account
VI. Task Identification

Various tasks are scheduled to be completed for this project. The tasks
include the phases of prototyping and designing the user interface and
making it user friendly, connecting the application with the backend that
involves a server/API calls. We generally draw a basic layout of the
software in terms of how it should look and feel like. An application must
consist several components and widgets to display data to the users.

We also categorize the task on basis of certain factors such hardware


requirements & software requirements for developers

Hardware Requirements:

Processor: Minimum 2Ghz

Ethernet connection (LAN) OR a wireless adapter (Wi-Fi)

Storage: Minimum 1GB (For all modules and libraries)

Software Requirements:

Operating System: Windows, MacOS or Linux-based

Browsers: Firefox, safari or chromium-based (chrome, edge, brave, etc.)

Coding environment: Visual Studio Code

Languages & frameworks: React Native, RealmDB, MongoDB Atlas,


Firebase, TailwindCSS
VII. Timeline of the project

It is estimated that the said project will be completed in 10 Weeks. From


project design to implementation and deployment on internet, this is
categorized in following list.

1. Planning and selection (1 Week)


2. Wireframing and design process (2 Week)
3. Project template and front-end coding (3 Weeks)
4. Backend development and syncing (3 Week)
5. Deployment and completion (1 Week)
VIII. Gantt Chart
CHAPTER 2: LITERATURE SURVEY

IX. Literature review

Note-taking is a significant educational activity that is worthwhile as a


learning technique in and of itself. This paper discusses how technology
can help with note-taking. It describes a tool that allows students to take
class notes on their computers. The scheme seeks to enable students to
create notes that are very similar to what they produce today with the use
of paper and pen, but differ in that they are digital documents, which are
more easily readable, among other benefits, and thus have the potential to
serve better than written materials for review purposes.

Indeed, from the standpoint of systems analysis, the idea that note-taking
should be automated away is a clear illustration of two classic design
pitfalls.

The first trap is confusing a memorable experience with the norm. While
we have almost certainly all been subjected to a lecture that was either
too fast or too advanced for us to follow, this is almost certainly not the
norm. Students are advised and instructed to enrol in classes that they
understand and can keep up with the pace of the teacher. The instructor
ensures that each student can improve their skills based on their interests
and abilities.
In comparison to paper works, which has been widely regarded as to be
among the classic "solution to solve" for personal computers, the creation
of notes, or records intended primarily for personal usages, has only
recently become a candidate for computer support. However, due to the
recent emergence of high-quality digital devices that are well integrated
into a variety of small, mobile devices, paper is being phased out in an
increasing number of domains. This section provides a high-level
overview of the main areas of activity in pen computing as they relate to
various forms of notetaking, in terms of customer needs and available
devices.

Despite the tremendous potential and increasing accessibility of


technology in schools, teachers are frequently portrayed as hesitant and
sceptical technology users (e.g., Carlson & Gadio, 2002; Ertmer &
Hruskocy, 1999; Eteokleous, 2008). According to studies, few teachers
are eager to fully utilise technology in their classrooms (e.g.,
Marcinkiewicz, 1993; Wang, Ertmer, & Newby, 2004), and effective
technology integration in classrooms remains remarkably low (Cuban,
2001; Cuban, Kirkpatrick, & Peck, 2001). Furthermore, Lei (2009)
examined teachers' historical role in relation to technology and concluded
that it "has not been very positive" (p. 88).

Teachers' apprehension about technology has emerged as a major issue in


education, as the responsibility for effective technology integration
inevitably falls on individual teachers.

While todays modern university students are immersed in and fluent in


digital technology, this competence doesn't always translate to fluency in
instructional technology use. This is consistent with Robinson's (2006)
finding that not every students share a comparable amount of
technological ability and confidence. As a result, a student may recognise
that a specific teaching technology would be beneficial but lack the
expertise to use it, necessitating instruction and assistance from the
school trainer.
X. Review of previous solutions

Pen computing has most likely had the greatest success in "vertical"
solutions. While it is difficult to generalise, many different types of users,
such as delivery personnel, machine operators, inventory analyzers,
bridge inspectors, insurance agents, and health specialists, fill out forms
and/or create highly structured documents.

Much of the information required here is predictable and handled by


criteria, but free-text and diagrams must be entered on occasion, typically
in various pre-defined areas. Such users differ from students in that they
typically create fewer such notes per use and frequently work without the
need for a desk or even while standing. Typing produces more
customizable and searchable text. (However, recent advancements allow
"computer - based ink" to assist a few editing operations, such as
copying, underlining, highlighting, and even some searching.

For many users, keyboard input is also faster and less tiring. There are
alternative input methods for pen computer systems, such as soft
keyboards, stroke-based alphanumeric characters, and predictive
methods, but these have not yet gained widespread acceptance, especially
for entering large amounts of text, so taking class notes appears to require
a keyboard for the time being.

When using pure pen computing, advanced tool switching methods for
switching between typography modes and drawing models are obviously
unnecessary. Both positioning and writing are possible and easy to do
with your hands. However, the previously mentioned speed advantage is
offset by the time cost of tool switching when using a keyboard, with the
time penalty increasing as text chunks become smaller and farther apart.
We had an experienced typist type 10 text chunks of 5 English words
each, each requiring 30 keystrokes, at roughly designated points, and then
recreate the same content with pencil and paper.

Many illustration objects in lecture notes, such as brackets and ovals


enclosing content chunks, are logically text decorations but must be
drawn independently in most drawing/writing tools. These are difficult to
draw not only because it takes time to select a menu, however it
additionally takes a little time to position them correctly in connection to
the text. Despite these functionalities, taking class notes still necessitates
some effort in aligning marker graphics and keyboard-entered text.

College students today are characterised as being the most technically


minded and visually advanced generation in history, with advanced
technologies as familiar to them as a knife and fork (Stamats, 2008).
However, it has recently come to light that college pupils are
concentrating less and less, and, predictably, this technological expertise
is being blamed far too easily for the decline in learning (O'Brien, 2010).

The goal of this mixed methods study was to look into how digital native
teachers use technology in the classroom. The researchers' initial
quantitative survey phase of this study aimed to investigate the
relationships between external barriers (technology access and support),
internal barriers (attitudes and beliefs—risk taking and self-efficacy), and
technology use in the classrooms of digital native teachers. The
qualitative interview phase that followed helped to explain the
quantitative findings.
XI. Summary of how reviewed literature helped in defining
problem statement

As a result, a simple solution that aims to deliver simple noting


techniques that can be used in classrooms or any education university
must be developed. This application may not be the only solution
available. Several solutions have been developed in recent years, all of
which lack functionality in some way. Some are underperforming,
resulting in a sluggish experience, while others lack functionality.

We used a long-term, in-class assessment as well as some in-lab


experiments to assess this. Of course, the ultimate criterion for judging a
tool for taking class notes is whether it outperforms pencil and paper in
terms of learning outcomes.

The ability of our note-taking tool, or the tool chosen for this study, to
achieve this ideal must be experimentally tested. However, the fact that
some of our users preferred the system over paper suggests that getting to
this point is at least possible.
CHAPTER 3: DESIGN FLOW/PROCESS

XII. Problem Definition

We define the problem in such a way that it aims to solve note-taking


issues by developing an application that allows students to download and
take notes on any digital device. Because the modern world is
technologically savvy and uses digital devices such as phones, tablets,
and portable computers, it would be simple for them to use a single
application to meet all of their needs.

We strive to create the best user interface possible using modern user
design languages and techniques that are visually appealing to the end
user.

Because the app is not designed solely for students, a rich experience is
required to maximise the user's productivity. Because many students
work in groups, it would be necessary to develop a solution that allows
them to collaborate on the go and share any notes with other app users.
XIII. Goals and Objectives

This application will strive to provide and complete all of the features that
students require. The following are the app's objectives:

- Provide an easy-to-use interface: Users can add any to-do and


notes to their app with a single button.
- Login support: a user can easily sign up and stay logged in to sync
any data they create on the cloud, all of which can be retrieved
again on another device with a different operating system.
- Include a search tool: The system includes a search tool that allows
users to find data using keywords.
- Simple and interactive GUI: When operating the system, the
system provides the user with a simple and interactive Graphical
User Interface.
XIV. Feature/Characteristic selection

A project is a series of interrelated activities that are aimed at


accomplishing a particular goal within time, budget, and quality
constraints. It entails group activity coordination in which the manager
plans, organises, directs, and controls group activities in order to achieve
a goal while keeping time, cost, and end-product performance constraints
in mind. Project management is a combination of project management
and management.

It is possible to choose the relevant features that are most useful or


relevant to the problem at hand automatically. This is known as feature
classification.

Let’s look at some of the features our app will have:

1. Material You, Google's most recent design system introduced with


the release of Android 12. The app will use dynamic colour
extraction directly from the user's phone wallpapers and apply it
throughout the app.
2. Created with the intention of delivering a material design theme
right out of the box, so it looks and behaves like any professional
app.
3. User will be able to create, read, update or delete operations right
on the main screens.
4. The ability to choose different accent color as per user’s liking and
change theme defined directly through the system side.
XV. Constraint Identification

A project constraint is any type of limitation that may pose a risk to your
project or have an impact on it. The various constraints you may face are
usually interconnected, which means that changing one will affect the
others.

You've just given your project a time constraint when you set a
completion and final release deadline, for example. Your team has a
certain number of days or weeks to finish and deliver the product. Aside
from a deadline, you've most likely requested a specific amount of money
to complete the project (a budget constraint), and you've decided which
features and enhancements will be included in the latest version of this
product (a scope constraint).

The project scope may be jeopardised if the deadline is moved up. The
project's budget may be jeopardised if the deadline is pushed back. The
scope may also be jeopardised because teams may be tempted to add a
feature or two when they believe they have more time.

While any given system will have constraints, you do not have to let them
ruin your business. TOC entails determining how to make a constraint
work for you rather than against you.

If your constraint is, say, an employee, you can fire the employee.
However, firing an employee may become a problem.
You'll need to hire someone new, who may or may not be qualified for
the job. Instead, figure out why the employee is a bottleneck and work to
solve the problem through training, task distribution, or relocation.

You must decide whether scope, time, or cost are the most important
factors for each project. It must then be aligned with the other two
constraints. For example, if the most important deadline cannot be
moved, time and scope must be adjusted to reflect how much can be
implemented within the time constraints.

Many other limitations include the quality, resources and customer


satisfaction of the product.

• The quality constraint is closely related to the Triple Constraint.


Any changes in scope, time, or cost may affect product quality. A
shift in quality expectations has an impact on the scope, timeline,
and budget of the project. For example, if your project suffers from
scope creep while remaining on schedule and within budget, the
quality is likely to suffer.
• When planning a project, take into account the resources you
already have, such as human availability, skill, and location, as
well as available equipment. This limitation is frequently
associated with costs. If funds are not available, the company
cannot hire more employees or purchase new equipment.
• Customer satisfaction: Just because you completed your project on
time and within the scope, time, and budget constraints does not
guarantee that your customers will be pleased. Before you start
your project, brainstorm ideas and consult with customers to figure
out what you can offer that will satisfy them.
The following are the main ethical issues that may be addressed in project
management:

• The intentional fabrication, falsification, plagiarism, or illicit


alienation of scientific research is defined as fraud in science.
• Data fabrication: data enrollment and presentation based on fantasy
rather than research methods.
• Fraud: falsifying research materials, equipment, processes, or
results; omitting data or results to misinterpret research findings.
• Plagiarism is defined as the appropriation of another person's ideas,
methods, procedures, technology, results, and papers, regardless of
how obtained, and presenting them as one's own.
• Conflict of interests: an incompatible situation in which a person
has a personal interest that influences the impartiality and
objectivity of its activities in evaluating, monitoring, realising, and
reporting R&D activities.

Furthermore, in any project approach, the project manager must provide


all necessary information to the research team before the project begins.
XVI. Analysis and feature finalization subject to constraint

Design constraints are requirements that must be met for a project to be


successful. Design constraints aid in the narrowing of options when
developing a project. In our example, you could have any food on the
planet on your menu at first, but then you remember your budget, and
your options narrow. Design constraints may appear to be a bad thing at
times, but they help shape the project to meet the exact needs of the
client. In this case, the culmination of all of your considerations will be a
meal suitable for you and all of your guests.

All of the discussed features are very well handled in each category of
contrainsts.
XVII. Generate multiple design alternates

The selection of conceptual design alternatives is critical in product


development. This is due to the fact that solving the problem requires an
iterative process, and communication among design team members
should be optimised. Several design constraints must also be met.
Although the literature provides several alternative selection methods,
only a few are currently used in industry. By improving knowledge
transfer between design research and practise, a comparison of the
various approaches would help practitioners approach these decision-
making tools more effectively.

Finally, a sensitivity analysis is proposed to evaluate the robustness of


each method.

We consider how the user interface is most appealing to the user and how
we can get a rich user experience from using it when designing
alternative patterns and shapes. We can go with the most basic look and
feel by hard-coding all of the colour schemes and allowing the user to
select any accent colour as their primary colour for the entire app.

In other cases, we can give them the option to choose directly from the
system. As a result, any theme they want to use on their applications will
be applied throughout the system, giving the user a much cleaner and
consistent appearance. Because hard-coding values frequently separates
the themes of each app from one another, resulting in inconsistency.

In some cases, they might prefer to give each note and todo they take a
unique color and background. This does look appealing to the user but the
use cases in the end are very less. An option could be design to let user
pick what look and feel they want.

Potential interface design for home screen.

The aim of the home screen is to provide the ability to the user to utilize
the purpose the application.
Potential interface for accounts page:

The aim of the accounts screen is to provide the ability to the user to
handle their account page, that includes changing the name, avatar,
logging and logout buttons, themes, accent, and much more.
Potential interface for onboarding screens:

The aim of the onboarding screen is to introduce the user to the working
of the application and set up their installation with the required
parameters defined in the app.
XVIII. Selection of best design and implementation plan

After value chain selection, value chain analysis, and designing the
competitiveness strategy, the fourth phase of the project cycle is design
and implementation. While separating these different stages is useful for
conversation, majority of the methodologies and abilities used in
shortlisting, assessment, and planning process are employed in the
present study during implementation. Additionally, even though these
project management life stages are continuous, they are not
straightforward: assessment must continue even during project execution
to guide modifications to the competitive market strategy in response to
market, supportive environments, or chain-wide changes.

When it comes to choosing the best layout for a project, several factors
must be considered. These may include project specifications, budget,
timeline, target audience, and overall objectives. To make informed
decisions and ensure the best possible outcome, it is critical to approach
the selection process methodically.

Gathering a variety of options and then evaluating each one against a set
of predetermined criteria is a common approach to selecting the best
design. Usability, artistic appeal, cost-effectiveness, and ability to
integrate with current systems may all be considered. It is possible to
objectively compare different designs and identify the best fit for the
project by evaluating each option against these criteria.

In comparison to choosing the most suitable design, it is critical to


effectively manage the project structure. Establishing open lines of
communication, setting realistic timelines and accomplishments, and
ensuring that all members of the team comprehend their roles and
responsibilities are all part of this.

Agile is a popular system for overseeing the project structure. This


method focuses on collaboration, flexibility, and iterative development. It
is possible to quickly identify and address any issues that arise by
breaking the project down into smaller, more manageable tasks, and to
adapt as necessary in response to changing requirements or priorities, by
breaking the project down into smaller, more manageable tasks.

Finally, choosing the best design and managing the project structure are
both major elements of any project's success.

To be successful, projects must be planned. Would you construct a house


without a plan? Nailing pieces of wood together without a plan is
probably not a good idea. In the business and corporate world, everything
is the same. An implementation plan serves as the blueprint for any
shared goal. Your plan should encompass every aspect of the strategic
planning to the financial plan to the list of individuals engaged in the
endeavor.
Define goals

Draw map of
tasks

Scheduling

Assigning
tasks

Allocating
resources

Testing and
benchmarking
The most important advantage of implementation planning is that it
increases project success. Implementing a project plan provides a
roadmap for project execution, allowing you to avoid problems.

Other benefits of developing a plan for implementation include:

1. Team members' and key stakeholders' communication has


improved.
2. Better resource management and organisation
3. Greater accountability on the part of all project participants
4. The project timeline and daily workflow have been improved.
5. Team members' collaboration becomes easier.
CHAPTER 4: RESULT ANALYSIS AND VALIDATION

Model of the Waterfall Process

The Classical Life Cycle, often known as the waterfall Process Model,
was the first to propose a sequential framework detailing the fundamental
stages required for a successful software development model. It serves as
the foundation for the majority of software development standards and
includes the phases of requirement analysis, design, coding, testing, and
maintenance.

The waterfall model offers the following benefits:

• a straightforward objective.
• Easy to understand and apply.
• The stages are well defined.
• Tasks are easy to organise.
• The process is already known to customers and end users, and it is
straightforward to manage.

The disadvantages of the waterfall model are strict design and inflexible
procedure. The Waterfall methodology was plagued by "inflexible point
solution," which meant that even minor design changes were difficult to
adopt later un the design phase.

Because the criteria were frozen before proceeding to the design phase, a
comprehensive design was created with changes based on an incomplete
set of requirements. Completing a phase and then returning to recreate the
same phase resulted in a significant overhead in the case of a large
project.

Once a phase is completed, it is not repeated, which means that moving


from one phase to the next and vice versa is not supported, therefore
meeting deadlines is problematic in the event of huge projects.

The waterfall process has seven main stages:

- Project needs, timeframes, and guidelines are evaluated and


incorporated into a functional specification. This stage is concerned with
project definition and planning, but no specific processes are mentioned.

- Analysis: System specifications are examined to develop product


models and business logic that will guide manufacturing. This is also the
phase at which the viability of financial and technical resources is
determined.

- Documents that specify technical design requirements such as


programming language, hardware, data sources, architecture, and services
are known as design specifications.

- Coding/Implementation: The source code is written using the models,


logic, and requirements defined in the previous steps. Before being
implemented as a whole, the system is often developed in smaller
components, or units.

- Testing: This is the stage at which quality assurance, unit, system, and
beta tests are carried out to discover any flaws that must be resolved. This
may necessitate a forced repetition of the coding stage for debugging
purposes. If the system passes the tests, the waterfall continues.

- The product or application has been determined to be completely


functioning and has been deployed in a live environment.

- Maintenance is carried out indefinitely in order to improve, update, and


enhance the final product through corrective, adaptive, and perfective
maintenance. This could involve patch updates or the release of new
versions.
ER DIAGRAM APPROACH

What exactly is the ER Model?

A high-level conceptual data model diagram is an entity relationship


model (ER Model). The ER model assists in the methodical study of data
requirements for the creation of a well-designed database. Real-world
entities and their interactions are represented by the ER Model. It is
advised that you construct an ER Model in DBMS before implementing
your database.

In ER Diagrams, rectangles are used to represent entities, ovals are used


to indicate attributes, and diamond shapes are used to show relationships.

ER Modelling helps you conduct a systematic examination of data


requirements in order to develop a well-designed database. As a result, it
is regarded best practise to complete ER modelling before installing your
database.
Use Case Diagram (UML):

The most important aspect of modelling a system is capturing the


dynamic behaviour. The behaviour of the system while it is
running/operating is referred to as dynamic behaviour. Static behaviour
alone is insufficient for modelling a system; dynamic behaviour is more
important than static behaviour.

Use case diagrams are one of five diagrams available in UML to model
the dynamic nature. A use case diagram is a graphical representation of
how a user might interact with a system.

A use case diagram depicts the various use cases and user types that exist
in the system and is frequently accompanied by other types of diagrams.
A use case diagram is used to represent a system's dynamic behaviour. It
encapsulates the functionality of the system by incorporating use cases,
actors, and their relationships. Actors, use cases, and their relationships
are depicted in use case diagrams. The diagram is used to represent an
application's system/subsystem. A single use case diagram represents a
specific system functionality. As a result, a number of use case diagrams
are used to model the entire system.

A use case diagram's purpose is to capture the dynamic aspect of a


system.
A use case diagram can be used for the following purposes:

 It depicts the interaction of the actors.


 It depicts the system's external view.
 It collects the system's requirements.
 It recognises both internal and external factors that affect the
system.

Use case diagrams are used to collect a system's requirements, including


internal and external requirements.

outside influences The majority of these requirements are design


requirements. As a result, when a system

is examined to determine its functionalities, use cases are developed, and


actors are identified. When

When the initial task is completed, use case diagrams are created to
present the outside perspective.

The following are some of the advantages of using use case diagrams:

 Used to collect a system's requirements.


 Used to get a bird's-eye view of a system.
 Determine the external and internal factors that influence the
system.
Flow Diagram
Activity flowchart

Another important diagram in UML for describing the dynamic aspects of


the system is the activity diagram. An activity diagram is essentially a
flowchart that depicts the flow from one activity to another. The activity
can be described as a system operation. An activity diagram is a
behavioural diagram, which depicts a system's behaviour. An activity
diagram depicts the control flow from a start point to a finish point,
highlighting the various decision paths that exist while the activity is
being carried out. An activity diagram depicts business and software
processes as a series of steps. These actions can be performed by humans,
software components, or computers.

The following are some of the advantages of using activity diagrams:

 Display the logic of an algorithm.


 Describe the steps taken in a UML use case.
 Describe a business process or workflow that occurs between users
and the system.
 Clarify complicated use cases to simplify and improve any process.
 Model elements of software architecture such as method, function,
and operation.
Onboarding activity:
HOME crud activity:
Class diagram

The class diagram is the foundation of object oriented modelling. It is


used for both general conceptual modelling of the application's structure
and detailed modelling, which involves translating the models into
programming code. Class diagrams can also be used to model data. A
class diagram's classes represent both the application's main elements,
interactions, and the classes to be programmed. A static diagram is a class
diagram. It represents an application's static view. A class diagram is used
not only for visualising, describing, and documenting various aspects of a
system, but also for writing executable code for a software application.
Sequence Diagram

A sequence diagram is a type of interaction diagram because it describes


how and in what order a group of objects interacts with one another.
Software developers and business professionals use these diagrams to
understand the requirements for a new system or to document an existing
process. The most common type of interaction diagram is a sequence
diagram. An interaction diagram is used to depict a system's interactive
behaviour.

The following are the advantages of sequence diagrams:

 To capture a system's dynamic behaviour.


 To describe the system's message flow.
 To describe the object's structural organisation.
 To describe how objects interact with one another.
 Represent the particulars of a UML use case.
 Create a model of the logic of a complex procedure, function, or
operation.
 Examine how objects and components interact to complete a
process.
 Plan and comprehend the specific functionality of a current or
future scenario.
Sequence diagram of onboarding
Sequence diagram of home UI
System Design

1. Introduction screen

 Use of normal user authentication


 Use of anonymous login methods
 Usage of toast messages for interactive Design

2. HomePage

 Doing CRUD operations


 Usage of dialogs, bottom sheets

Todo Table

ID Realm UUID

Description String

Owner ID String

isComplete Boolean

createdAt Date
System Security

System security refers to the protection of computer-based resources such


as hardware, software, data procedures, and people from unauthorised use
of natural disasters.

Issues Solution

Login All login data is safely stored on


mongodb servers

Preferences All settings are stored in local


database
Test Cases:

A test approach is a project's test strategy implementation that defines


how testing will be carried out. The implementation of a test strategy for
a specific project is referred to as a "test approach." All test plans and
designs should include a description of the test approach. The test
approach refers to the start of various project activities such as testing
process planning, design selection, defining entry and exit criteria, and so
on.

The test approach employs two techniques:

 Being proactive

A method of starting the test design process as soon as possible in order


to find and fix defects before the build is created.

 Reactive

An approach in which testing does not begin until design and coding are
completed.
Test Cases Design:

TESTCASE TITLE DESCRIPTIO STAT EXPECTE


S N E D

1 Wrong login Provides Valid Success


credentials feedback to
user if the user
has entered
wrong
credential

2. Using If the user is Valid Success


anonymous able to login
login anonymously

3. Using normal If the user is Valid Success


authenticatio able to sign up
n and retain login
information for
next usage
Test Cases Result:

TESTCASES TITLE DESCRIPTION Result

1 Wrong login Provides feedback to Success


credentials user if the user has
entered wrong
credential

2. Using If the user is able to Success


anonymous login login anonymously

3. Using normal If the user is able to Success


authentication sign up and retain
login information for
next usage
Chapter 5: Conclusion and future work

• User Manual:

Upon launching the app for first time, user is greeted with onboarding
that contains the login screen for every user to register themselves to
make use of cloud sync feature.
Here, any existing user installing the app will be able to login with
email/password or launch another anonymous session.
New users have to open to click the option to signup and register
themselves:
After logging in, the user gets taken to home page where they can see
many user interface elements in the form of buttons, icon buttons and text
information. Here, user can take use of floating action bar button to add
new todo or use the settings icon button to go to accounts page, change
colors and theme, etc.
Using the floating action bar button, a dialog gets opened and displayed
to the user which has a text field and some buttons. After adding
something into the text field, user can tap on ok button to add todo. This
will later appear on the home interface under todos heading.
By tapping on the checkbox, the user indicates the user interface that the
todo has been completed and a line-through is decorated on it.
By tapping on edit button on todo item, user can edit the item. A dialog is
shown with the textfield with the value of the item
By tapping on delete button, a todo gets completed, A user when he/she
has completed a todo and decides to delete it, this button is used.
Settings Screen:

In the settings screen, the user can see the account email he has signed
up/in with, that is marked with 1. The logout button (2) can be used to log
off your account. This will bring the user back to login/onboarding
screen. Any data entered while the user was logged in will stay in the
cloud while the app was in sync. Any data created with sync off, will not
get restored upon re-login.

The 3rd option can be used to tell the app who will be using the app and
will also greet you whenever you open the app again. This information
will be stored on user’s device locally.

The Team (4) and other information (5) is also shown the user indicating
the developer of the application and the links to privacy policy, contact
information if the user faces any issue with the application.
References

Bal A., Crittenden V. L., Halvorson W., Pitt L. F., Parent M. (2010, May). Second best in

second life: Teaching marketing cases in a virtual world environment. Presentation at

the Academy of Marketing Science Annual Conference, Portland, OR.

Boostrom R. E., Kurthakoti R., Summey J. H. (2009). Enhancing class communications

through segregated social networks. Marketing Education Review, 19(1), 37-41.

Bromage, B. K., & Mayer, R. E. (1986). Quantitative and qualitative effects of repetition on

learning from technical text. Journal of Educational Psychology, 78, 271-27.

Di Vesta, F. J., & Gray, S. G. (1972). Listening and notetaking. Journal of Educational

Psychology, 64, 278-287

Strauss J., Hill D. J. (2007). Student use and perceptions of web-based instructional tools:

Laggards in traditional classrooms. Marketing Education Review, 17(3), 65-67.

Wittrock, M. C, Marks, C B., & Doctorow, M. J. (1975). Reading as a generative process.

Journal of Educational Psychology, 67, 484-489.


Abstract

Note-taking has developed in the modern period to include electronic

devices such as laptops, tablets, and smartphones. Many advantages of

digital note-taking include the capacity to conveniently organise and

search notes, access them from anywhere, and communicate with others

in real-time. Furthermore, digital note-taking applications frequently

incorporate features like voice recording, identification of handwriting,

and drawing tools that make it easier to collect and retain information.

However, there are also disadvantages to using digital note-taking, such

as the desire to multitask and the possibility of distractions. Overall,

digital note-taking can be a helpful tool for students and professionals;

nevertheless, it is critical to strike a balance between utilising technology

and keeping focus and attention.


Abstract in Regional Language

लैपटॉप, टै बलेट और �ाट� फोन जैसे इले��ॉिनक उपकरणों को शािमल करने के

िलए आधुिनक काल म� नोटबंदी का िवकास �आ है । िडिजटल नोट-लेने के कई

फायदों म� सुिवधाजनक �प से �व��त करने और नोट् स खोजने, उ�� कहीं से

भी ए�ेस करने और रीयल-टाइम म� दू सरों के साथ संवाद करने की �मता

शािमल है। इसके अलावा, िडिजटल नोट लेने वाले ए��केशन म� अ�र वॉयस

�रकॉिड� ग, िलखावट की पहचान और ड� ाइं ग टू � जैसी िवशेषताएं शािमल होती

ह� जो जानकारी एकत्र करना और बनाए रखना आसान बनाती ह� । हालाँ िक,

िडिजटल नोट-टे िकंग का उपयोग करने के नुकसान भी ह� , जैसे म�ीटा� की

इ�ा और �ान भंग होने की संभावना। कुल िमलाकर, िडिजटल नोट लेना छात्रों

और पेशेवरों के िलए एक उपयोगी उपकरण हो सकता है ; िफर भी, प्रौ�ोिगकी

का उपयोग करने और फोकस और �ान रखने के बीच संतुलन बनाना

मह�पूण� है ।
Conclusion

To summarise, learning is the process of obtaining and processing


knowledge, and taking notes is a vital action that aids in learning and
memory. It has been a part of human growth from the beginning of time,
and students have always utilised notes as a tool to help them achieve
their educational goals. Taking notes allows you to reconsider the subject,
focus your attention during a lecture, and is useful for everyone who
works with written text. With the advancement of technology, new
teaching methods that provide better ways to teach and learn are
emerging, and current technologies are becoming more enticing to both
educators and learners.

You might also like