Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

P.S.R.

R COLLEGE OF ENGINEERING

Department of Electronics & Communication Engineering

“TIMETABLE REMAINDER”
Submitted by
S.Manjula Devi
G.Swetha
P.Nandhini
R.Divya
ABSTRACT
This project aims to develop a timetable reminder system for lecture
to help students and educators manage their academic schedules
effectively. The system will allow users to create, customize, and
manage their lecture timetables. It will send timely reminders for
upcoming lectures, including details such as time, location, and
subject. The system will also support integration with popular
calendar applications for seamless schedule management.
Additionally, the project will include features for timetable sharing
among users and automatic timetable updates based on changes in
academic schedules. The system will be developed using modern web
technologies, providing a user-friendly interface accessible on both
desktop and mobile devices. Overall, this project aims to improve
Overview:

The Time Table Remainder Java program is designed to


manage a timetable using a MySQL database. It allows users to insert
events into the timetable with specified details such as event
name,day,and time.
1. Introduction:
 Briefly introduce the purpose of the program, which appeats
to be a time table remainder system.
2. Implementation:
 Describe the structure of the program, including the classes
and methods.
 Discuss the use of JDBC (Java Database Connectivity)for
database interaction.
 Highlight the main functionality of the program, which
involves inserting event details into a database table.
3. Code Analysis:
 Discuss the provided Java code snippet.
 Explain the use of
jdbc:mysql://localhost:3307/Timetable as the database
URL
( jdbc:mysql.//localhost:3307/Timetable) should be and the
syntax error in the insert query (+”,);” should be + “);”).
 Discuss best practices for handling database connections,
such as using try-with-resources to ensure proper resources
management.
4. Appendix:
 Include any additional information, such as the database
schema and sample input/output
5. Database Connection
 The program establishes a connection to a MySQL database
using JDBC.
 Database URL:
jdbc:mysql.//localhost:3307/Timetable
 Username: root
 Password: root
6.Functionality:
 Inserting Events:
 Users can insert events into the timetable with event name,
day and time.
7.Code Structure:
 The program consists of a single class (TimeTableRem) with
two constructors.
 constructor 1: Accepts parameters for event details and
performs database insertion.
 Constructor 2:Default constructor with no parameters.

DEVELOPMENT STEPS:
Define Requirements:
Clearly define the requirements of the system, including what features it
should have (e.g., ability to create and manage timetables, send reminders, user
authentication).

Design System Architecture:


Design the architecture of the system, including the database schema,
backend services, and frontend components.

Develop Backend:
Implement the backend services, including APIs for creating and managing
timetables, sending reminders, and handling user authentication.

Develop Frontend:
Implement the frontend components, including the user interface for
creating and managing timetables, viewing reminders, and setting preferences.

Integrate Components:
Integrate the backend and frontend components to create a cohesive system.
Test System:
Test the system thoroughly to ensure that it works as expected and meets all
the requirements.

Deploy System:
Deploy the system to a server or cloud platform so that it can be accessed by
users.

Monitor and Maintain:


Monitor the system for any issues and perform regular maintenance to keep
it running smoothly.

Throughout the development process, it's important to iterate on the design


and implementation based on feedback and testing to ensure that the final
product meets the needs of users.
FLOW CHART:
CODING FOR FRONDEND:
import javax.swing.*;
import java.awt.*;
public class TimetableReminder extends JFrame {
private JTextArea timetableArea;

public TimetableReminder() {
setTitle("Timetable Reminder");
setSize(600, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(null); // No layout manager

// Initialize components
timetableArea = new JTextArea();
timetableArea.setEditable(false); // Make text area read-only
timetableArea.setBounds(20, 20, 560, 320); // Set position and
size manually

// Add timetable area to frame


add(timetableArea);
}

public void displayTimetable(String timetable) {


timetableArea.setText(timetable);
}
public static void main(String[] args) {
// Sample timetable
String timetable = "Nandy:\n Monday \n09:00 - 10:00: Math\
n10:00 - 11:00: Physics \n\n Swetha:\n Tuesday \n 09:00 - 10:00:
Chemistry\n10:00 - 11:00: Biology";

// Display timetable
SwingUtilities.invokeLater(() -> {
TimetableReminder timetableReminder = new
TimetableReminder();
timetableReminder.setVisible(true);
timetableReminder.displayTimetable(timetable);
});
}
}
CODING FOR BACKEND:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class TimeTableRem{


public TimeTableRem(String text,int text1,int text2) throws
ClassNotFoundException, SQLException {
String url = "jdbc:mysql.//localhost:3307/Timetable";
String username = "root";
String password = "root";
String query = "select *from Timetable";
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con =
DriverManager.getConnection(url,username,password);
System.out.println("Connection Established");
String qu = "insert into
tbl(event_name,event_day,event_time)values('"+text+"',"+text1+
","+text2+",);";
Statement smt = con.createStatement();
smt.execute(qu);
con.close();
System.out.println("Connection closed");

public TimeTableRem() {

}
}

public class Gui implements ActionListener {


JFrame frame = new JFrame();
JPanel panel = new JPanel();
JTextField UserIDField = new JTextField();
JButton button = new JButton("Click me");
public void gui (){
UserIDField.setBounds(80,20,200,50);
panel.setLayout(new FlowLayout());
button.setBounds(120,100,90,30);
button.addActionListener( this);
frame.add(button);
frame.add(UserIDField);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(420,420);
frame.setLayout(null);
frame.setVisible(true);
}

@Override
public void actionPerformed(ActionEvent e) {
String text;
if(e.getSource() == button){
text=UserIDField.getText();
try{
new database();
}catch (Exception ex){
throw new RuntimeException(ex);
}
}
}
}
OUTPUT:
CONCLUSION:

In conclusion, the timetable reminder for lectures is a valuable tool that


enhances the learning experience for students by helping them stay organized
and manage their time effectively. By providing timely reminders and
notifications for upcoming lectures, the project aims to reduce absenteeism and
improve overall academic performance. The project's user-friendly interface and
customizable features make it easy for students to stay on top of their schedules.
Overall, the timetable reminder for lectures is a practical and efficient solution
for students seeking to optimize their study routine.

You might also like