0% found this document useful (0 votes)
7 views

Java Report App

Uploaded by

shreeyaasenthil
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Java Report App

Uploaded by

shreeyaasenthil
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

TO DO CHECKLIST USING JAVA

A PROJECT REPORT

Submitted by

SHREEYAA SENTHILNATHAN (RA2211008020096)

PRAVIN KUMAR D (RA2211008020100)

DHINAKARAN J (RA2211008020114)

VANMATHI R.B (RA2211008020120)

in partial fulfillment for the award of the degreeof

BACHELOR OF TECHNOLOGY
in

INFORMATION TECHNOLOGY

SRM INSTITUTE OF SCIENCE AND TECHNOLOGY,

RAMAPURAM: CHENNAI 600089

NOVEMBER 2023
SRM INSTITUTE OF SCIENCE AND TECHNOLOGY,
RAMAPURAM

BONAFIDE CERTIFICATE

Certified that this project report “TO DO CHECKLIST USING JAVA”


is the bonafide work of “SHREEYAA SENTHILNATHAN
(RA2211008020096), PRAVIN KUMAR D (RA2211008020100),
DHINAKARAN J (RA2211008020114), VANMATHI R.B
(RA2211008020120)” who carried out the 21CSC203P–Advanced
Programming Practice project work under my supervision.

SIGNATURE SI GNATURE

S. Subburaj Dr. RAJESWARI MUKESH

SUPERVISOR HEAD OF THE DEPARTMENT

Dept. of Information Technology Dept. of Information Technology

SRM Institute of Science &Technology SRM Institute of Science & Technology

Ramapuram, Chennai – 600089 Ramapuram, Chennai - 600089

SUBMISSION OF 21CSC203P –Advanced Programming Practice PROJECT REPORT FOR


JAVA VIVA-VOICE HELD ON

INTERNAL EXAMINER - 1 INTERNAL EXAMINER - 2


ACKNOWLEDGEMENT

To the grace and generous blessing of God Almighty, I attribute the successful
completion of the 21CSC203P –Advanced Programming Practice Project. It is my duty
to respectfully offer our sincere gratitude to all the people who have kindly offer their
valuable support, guidance. I would like to extend my heartiest thanks to the Management
of our college, who provided me with necessities for the completion of the seminar.

I would like to express my deep gratitude to Dr. K.V. NARAYANAN, our


Associate Director, who has been a source of motivation to all the staffs and students of our
college. I feel highly privileged in making a mention of Dr. M. MURALI KRISHNA
(DEAN, E&T) for his co-operation and help.

I deeply and wholeheartedly thank Dr. RAJESWARI MUKESH (HOD, IT) for
her extreme valuable advice and encouragement. I thank my project coordinator S.
SUBBURAJ for his consistent guidance and mentoring throughout the project phase. Last
but not the least, we thank all others and especially our classmates who in some-way or
other helped us in successful completion of this work.
TABLE OF CONTENTS

CHAPTER NO TITLE PAGE NO

ABSTRACT 6

1. INTRODUCTION 7
2. PROBLEM STATEMENT 8
3. SYSTEM REQUIREMENTS 9
4. SYSTEM ARCHITECTURE 10
5. SYSTEM MODULES 11
6. SYSTEM IMPLEMENTATION 14
7. CONCLUSION 17

APPENDIX 1 (Sample Coding) 18


APPENDIX 2 (Sample Screenshot) 19

REFERENCES 20
CHECKLIST OF FIGURE NAME

S.NO FIGURE NO FIGURE NAME PAGE NO

1 4.1 System Architecture Diagram 10


2 5.1.1 Task Class & Task Management 11
3 5.1.2 User Interface Class & Persistence 12
Module
4 5.1.3 Controller Class 13
5 6.1 Sample Output 15
ABSTRACT

The project involves creating a To-Do Checklist application using the Java programming

language. The application will provide users with the ability to create, manage, and track tasks or

items on their to-do list. It will include features such as adding tasks, editing tasks, marking tasks as

completed, deleting particular task, deleting all tasks and categorizing tasks. The Java programming

language will be used to implement the user interface, task management functionality, and any

necessary data storage. The goal of the project is to provide a user-friendly and efficient tool for

organizing and prioritizing tasks. The "To-Do Checklist Using Java" project aims to develop a robust

and user-friendly application to help individuals organize and manage their tasks efficiently. Through

this project, users can experience the convenience of a well-organized task management system,

enhancing productivity and reducing the risk of overlooked responsibilities. The "To-Do Checklist

Using Java" project not only demonstrates technical proficiency in Java programming but also

addresses the practical need for effective task management in daily life.
CHAPTER 1
INTRODUCTION

In today's fast-paced world, staying organized is essential, and one of the most effective ways

to manage your tasks and responsibilities is by using a To-Do checklist. A To-Do checklist helps you

keep track of what needs to be done, prioritize tasks, and ensure that nothing important is forgotten.

In this project, we will explore how to create a simple To-Do checklist application using the Java

programming language. Java is a versatile and widely-used programming language known for its

portability and platform independence.

The "To-Do Checklist Using Java" project is a dynamic and versatile task management

application designed to meet the ever-growing demands of individuals seeking an organized and

efficient way to manage their daily activities. In a world characterized by constant multitasking and

fast-paced lifestyles, the need for a reliable and user-friendly tool to streamline tasks has become

increasingly apparent. This project addresses this need by leveraging the power of Java to create a

robust and feature-rich to-do checklist application.

The user interface is thoughtfully crafted to facilitate easy interaction, allowing users to add,

edit, and delete tasks effortlessly. Recognizing the diverse nature of tasks, the checklist supports

various customization options, enabling users to categorize tasks, assign priorities, and set deadlines.

This not only enhances organization but also aids in better time management.

A standout feature of the project is its emphasis on user engagement and motivation through

progress tracking. Users can visualize their accomplishments over time, fostering a sense of

achievement and encouraging continued productivity. Built on the Java programming language, the

application ensures platform independence, allowing users to access their to-do lists seamlessly

across different operating systems. The underlying architecture prioritizes data security, employing

robust storage mechanisms to safeguard task information and provide users with a reliable and secure

environment.
CHAPTER 2

PROBLEM STATEMENT

In the hustle and bustle of daily life, keeping track of tasks can be a significant challenge for
individuals. Traditional to-do lists may lack the adaptability needed for a dynamic schedule, leading
to disorganization and overlooked responsibilities. The absence of a digital solution that seamlessly
integrates into various platforms solves this issue. Current task management tools, while available,
often come with complexities that hinder their ease of use. This Checklist enables users to Add
Tasks, Delete Tasks, Edit Tasks, Indicate Completed and Incomplete Tasks, Exit Application.

This project addresses the problem of inefficient task management by creating a "To-Do
Checklist Using Java. "The goal is to offer a straightforward, user-friendly application that caters to
the diverse needs of individuals seeking a reliable way to organize their tasks. People often struggle
to prioritize tasks effectively, leading to missed deadlines and increased stress. The project
recognizes the need for a solution that not only allows users to create and modify tasks effortlessly
but also encourages better time management. Additionally, the project aims to fill the gap left by
existing tools by providing a customizable and intuitive checklist that adapts to the user's unique
workflow.

The issue of platform dependence is another key concern. With individuals using various
devices and operating systems, there is a growing demand for a tool that ensures consistent access
to task lists across different platforms. The project tackles this challenge by leveraging the Java
programming language, known for its platform independence. In essence, the "To-Do Checklist
Using Java" project seeks to address the common problems associated with task management,
offering a solution that is simple, adaptable, and accessible across diverse technological landscapes.
By doing so, it aims to empower users to take charge of their daily tasks with ease and efficiency.
CHAPTER 3

SYSTEM REQUIREMENTS

3.1 SOFTWARE REQUIREMENTS:


1. Java Development Kit (JDK)
2.Integrated Development Environment (IDE)
3. JavaFX Library (for GUI)
4.Java Database Connectivity (JDBC) Driver

3.2 HARDWARE REQUIREMENTS:


1. Computer: A standard computer or laptop is sufficient. Both Windows, macOS, and Linux
systems are compatible with Java.

2. Processor: A modern processor is more than adequate for Java development.


3. RAM: At least 4GB of RAM is recommended for smooth execution of Java scripts and
running development tools.

4. Storage: A few gigabytes of free storage space for the Java interpreter, development tools,
and any additional libraries or packages you might install.
5. Display: A monitor with a minimum resolution of 1280x800 pixels is recommended for a
comfortable coding experience.
6. Input Devices: Standard keyboard and mouse for code input and navigation.
CHAPTER 4

SYSTEM ARCHITECTURE

Fig.4.1. System Architecture Diagram


CHAPTER 5

SYSTEM MODULES

5.1 STAGES & MODULES:

1. Task Class
2. Task Manager Class
3. User Interface Class (JavaFX)
4. Persistence Module (SQLite)
5. Controller Class

Fig.5.1.1. Task Class & Task Management

5.1.1 Task Class:


- The `Task` class encapsulates the attributes of a task, such as its name, due date, priority,
and completion status. It provides methods for creating, accessing, and updating task details.

- Represents an individual task with attributes such as task name, due date, priority and
completion status.

5.1.2 Task Manager Class:


- The `Task Manager` class acts as the brain of the system, responsible for managing tasks. It
provides methods to add new tasks, remove completed tasks, update task details, and retrieve
the task list.
- Manage the creation, deletion, and modification of tasks.
- Use Java Collections or data structures to store and organize tasks.
- Acts as a bridge between the User Interface and the data.

Fig.5.1.2. User Interface Class & Persistence Module

5.1.3 User Interface Class (JavaFX):


- The `User Interface` class is responsible for presenting the application to the user.
- Implement the graphical user interface using JavaFX.
- Include components like buttons, text fields, and lists for task display.
- Handle user interactions and events.

5.1.4 Persistence Module (SQLite):


- The `Database Handler` class manages data persistence using SQLite.
- Implement methods to creates tables for tasks, save and retrieve tasks from the database.
Fig.5.1.3. Controller Class

5.1.5 Controller Class:


- The `Controller` class acts as an intermediary between the User Interface and Task Manager.
- Handle events triggered by the UI and invoke appropriate methods in the Task Manager.
CHAPTER 6
SYSTEM IMPLEMENTATION

The System Implementation of the project “To Do Checklist Using Java” includes the
Creation of the features of Checklist, the Modules imported, step by step process of creation of each
option available in the Checklist.

The following Software Modules were imported and used to create this project. Java
Development Kit (JDK) is used in development environment for building applications, applets, and
components using the Java programming language. The JDK includes tools useful for developing
and testing programs written in the Java programming language and running on the Java platform.
As this project is application based, JDK plays a vital role. The Integrated Development
Environment (IDE) is a software application that helps programmers develop software code
efficiently. It increases developer productivity by combining capabilities such as software editing,
building, testing, and packaging in an easy-to-use application. JavaFX is a set of graphics and
media packages that enables developers to design, create, test, debug, and deploy rich client
applications that operate consistently across diverse platforms. As this project is a GUI based
application, JavaFX Library is essential. Java Database Connectivity (JDBC) is an Application
Programming Interface (API) that allows Java programs to access database management systems.
In this project, the JDBC monitors the database of required tasks to be displayed and edited.

While coding the program, import all the required Libraries to define and creation the
parameters like Dimension, Font, Buttons, Borders, Background Colors, Layout, etc. At first, the
class called Task is extended to JPanel, in which the Index, Task Name, Buttons are defined and
appropriate colors and design layouts are applied with respect to design the Template of this
Application. The Dimensions of the Buttons, Task Display Box and the length of characters of
Tasks are defined. These parameters are applied and are checked if its forming a good template.
The Alignment of the Index Label comes into the role. The Alignment of the words in each Button
and Task Display Box is done.

The Creation of Tasks takes place by defining the Task with its name in the program code.
The Data Types and Length of the characters to be entered in the Task Display Box is defined
accordingly. All the defined components are revalidated to check the process by Testing. The
Buttons ADD TASK, DELETE, DONE, CLEAR FINISHED TASKS are created by defining it
appropriately for the role in must perform and are then Designed as a Template. The Color of the
Application (Orange), Completed Tasks (Green), Incomplete Tasks (Red) are defined and coded
appropriately. The Spacing between each Task in the Task Display Box and the Buttons are
defined and allocated.

The Font plays a major role in the creation of an Application after the role of Alignment.
The Font Style, Font Size, Font Color, Font Effects are created and added to each of the Buttons
and Options present in the Application. The Title Fonts and Alignments are also taken into
consideration. The Frames of the Application is defined as Footer, List, Title Bar, Exit On Close.
The required credentials are passed to the above titles and buttons. Deciding the access of each
component is important. So, the components are set to either Public or Private with respect to
security purposes. The numerical values are updated and checked in revalidation stage. Thus, the
Final Frames are created leading to Creation of the Application “To Do Checklist” Using Java.

Fig.6.1. Sample Output


THE STAGES & GOALS OF IMPLEMENTATION:
1. Task Class Implementation:
- Implements a basic structure for a task, including constructors, getters, and setters.
- Ensures encapsulation of task properties.

2. Task Manager Class Implementation:


- Manages the task list, ensuring it stays consistent and updated.
- Provides methods for adding, removing, updating, and retrieving tasks.

3. User Interface Class Implementation (JavaFX):


- Creates a visually appealing UI using JavaFX components.
- Handles user interactions and events, updating the UI accordingly.

4. Persistence Module Implementation (SQLite):


- Establishes a connection to the SQLite database.
- Creates tables for tasks and implements methods to save and retrieve task data.

5. Controller Class Implementation:


- Listens for UI events and translates them into actions by invoking methods in the `Task
Manager`.

- Updates the UI to reflect changes.


CHAPTER 7

CONCLUSION

To conclude, the “To Do Checklist” is successfully created using Java Programming

Language evidenced by the Java code being executed and desired output being displayed. Thus,

our project could definitely carve an easier, more efficient and more effective lifestyle and

workplace duties for the people of today’s busy world, thus leading to a greater social impact in this

world. To put it in a nutshell, the development of the 'To Do Checklist Using Java' project has been

a valuable learning experience. Through this project, we gained a deeper understanding of Java

programming and its application in creating functional and user-friendly applications. The project

allowed me to improve my skills in object-oriented programming, user interface design, and data

management.
APPENDIX 1

SAMPLE CODING
APPENDIX 2

SAMPLE SCREENSHOT
REFERENCES

1. https://docs.oracle.com/en/java
2. https://openjfx.io/documentation
3. https://docs.oracle.com/javase/tutorial/uiswing/events
4. https://www.sqlitetutorial.net/sqlite-java
5. https://github.com

You might also like