Professional Documents
Culture Documents
21MCA2713 Rubric4
21MCA2713 Rubric4
Todolist app
A PROJECT REPORT
Submitted by
Milind Goel
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
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)
Gantt chart
1. Introduction screen
2. Home UI
1. Introduction screen
2. Home UI
3. Settings UI
Implementation chart
Waterfall model
ER diagram
Flow diagram
Activity flowchart
Class diagram
Sequence diagram
LIST OF TABLES
II. Introduction
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 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
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.
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.
Hardware Requirements:
Software Requirements:
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.
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.
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.
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
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
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:
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.
All of the discussed features are very well handled in each category of
contrainsts.
XVII. Generate multiple design alternates
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.
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.
Finally, choosing the best design and managing the project structure are
both major elements of any project's success.
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.
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.
• 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.
- 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.
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.
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:
1. Introduction screen
2. HomePage
Todo Table
ID Realm UUID
Description String
Owner ID String
isComplete Boolean
createdAt Date
System Security
Issues Solution
Being proactive
Reactive
An approach in which testing does not begin until design and coding are
completed.
Test Cases Design:
• 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
Bromage, B. K., & Mayer, R. E. (1986). Quantitative and qualitative effects of repetition on
Di Vesta, F. J., & Gray, S. G. (1972). Listening and notetaking. Journal of Educational
Strauss J., Hill D. J. (2007). Student use and perceptions of web-based instructional tools:
search notes, access them from anywhere, and communicate with others
and drawing tools that make it easier to collect and retain information.
शािमल है। इसके अलावा, िडिजटल नोट लेने वाले ए��केशन म� अ�र वॉयस
इ�ा और �ान भंग होने की संभावना। कुल िमलाकर, िडिजटल नोट लेना छात्रों
मह�पूण� है ।
Conclusion