0% found this document useful (0 votes)
84 views35 pages

DBMS Sample 23-24 Report-2

Uploaded by

Nishith S
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
84 views35 pages

DBMS Sample 23-24 Report-2

Uploaded by

Nishith S
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 35

VISVESVARAYA TECHNOLOGICAL UNIVERSITY

BELAGAVI-590 018, KARNATAKA

DBMS MINI PROJECT REPORT


ON
“Virtual Classroom System”
Submitted in the partial fulfillment of requirements for the
5th SEM DBMS MINI PROJECT (21CSL55)
IN
COMPUTER SCIENCE AND ENGINEERING
PROJECT ASSOCIATES
Ratan Shet 4BD21CS116
Prajwal M V 4BD21CS098

PROJECT GUIDES
Dr. Gururaj T Ph.D., Prof. Arjun H M.Tech.,
Associate Professor Assistant Professor

2023-2024
Bapuji Institute of Engineering and Technology
Department of Computer Science and Engineering
Davanagere-577004
Bapuji Institute of Engineering and Technology
Davanagere – 577004

Department of Computer Science and Engineering

CERTIFICATE
This is to certify that Prajwal M V and Ratan Shet bearing USN 4BD21CS098 and
4BD21CS116 respectively of Computer Science and Engineering department have satisfactorily
submitted the Mini Project report entitled “Virtual Classroom System” for 5th SEM DBMS
MINI PROJECT (21CSL55). The project report has been approved as it satisfies the academic
requirements for the year 2023-24.

__________________________ ______________________
Dr. Gururaj T Ph.D., Prof. Arjun H M.Tech.,
Associate Professor Assistant Professor
Guide Co-Guide

__________________________
Dr. Nirmala C R Ph.D.,
Head of Department

Signature of Examiners:

Examiner1 Name: _______________ 1.__________________________

Examiner2 Name: _______________ 2.__________________________


ACKNOWLEDGEMENT

Salutations to our beloved and highly esteemed institute, “BAPUJI INSTITUTE OF


ENGINEERING AND TECHNOLOGY” for having well-qualified staff and labs furnished with
the necessary equipment.

We express our sincere thanks to our resourceful guides Dr. Gururaj T, Associate Professor,
Department of Computer Science and Engineering, B.I.E.T., Davanagere, and Prof. Arjun H,
Assistant Professor, Department of Computer Science and Engineering, BI.E.T., Davanagere, who
helped us in every aspect of our project. We are indebted to their discussions about the technical
aspects and suggestions pertaining to our project.

We are grateful to Dr. Nirmala C R, Professor and H.O.D, Department of Computer Science and
Engineering, B.I.E.T., Davanagere, for endeavoring encouragement, facilities, and extended
support.

We also express our whole hearted gratitude to our respected Principal, Dr. H B Aravind for his
moral support and encouragement.

We would like to extend our gratitude to all staff of the Department of Computer Science and
Engineering for the help and support rendered to us. We have benefited a lot from the feedback,
and suggestions given by them.

We would like to extend our gratitude to all our family members and friends especially for their
advice and moral support.

Ratan Shet 4BD21CS116


Prajwal M V 4BD21CS098
Bapuji Educational Association (Regd.)
Bapuji Institute of Engineering and Technology, Davangere-577004

Vision and Mission of the Institute

Vision
“To be a centre of excellence recognized nationally internationally, in distinctive areas of
engineering education and research, based on a culture of innovation and invention.”

Mission
“BIET contributes to the growth and development of its students by imparting a broad based
engineering education and empowering them to be successful in their chosen field by inculcating
in them positive approach, leadership qualities and ethical values.”

Vision and Mission of the Computer Science and Engineering Department


Vision
“To be a centre-of-excellence by imbibing state-of-the-art technology in the field of Computer
Science and Engineering, thereby enabling students to excel professionally and be ethical.”

Mission
1. Adapting best teaching and learning techniques that cultivates Questioning and Reasoning
culture among the students.
2. Creating collaborative learning environment that ignites the critical thinking in students and
leading to the innovation.
3. Establishing Industry Institute relationship to bridge skill gap and make them industry ready
and relevant.
4. Mentoring students to be socially responsible by inculcating ethical and moral values.

Program Educational Objectives (PEOs):

PEO1 To apply skills acquired in the discipline of computer science and engineering for
solving Societal and industrial problems with apt technology intervention.
PEO2 To continue their carrier ion industry /academia or pursue higher studies and research.
PEO3 To become successful entrepreneurs, innovators to design and develop software
products and services that meets societal, technical and business challenges.
PEO4 To work in the diversified environment by acquiring leadership qualities with
effective communication skills accompanied by professional and ethical values.
Program Specific Outcomes (PSOs):
PSO1 Analyse and develop solutions for problems that are complex in nature but applying the
knowledge acquired from the core subjects of this program.
PSO2 To develop secure, scalable, resilient and distributed applications for industry and
societal Requirements.
PSO3 To learn and apply the concepts and contract of emerging technologies like artificial
intelligence, machine learning, deep learning, big-data analytics, IOT, cloud computing
etc for any real time problems.

Course Learning Objectives:

● Foundation knowledge in database concepts, technology and practice to groom students


into well-informed database application developers.
● Strong practice in SQL programming through a variety of database problems.
● Develop database applications using front-end tools and back-end DBMS.

Course Outcomes:

CO1: Create, Update and query on the database.


CO2: Demonstrate the working of different concepts of DBMS
CO3: Implement, analyze and evaluate the project developed for an application.
ABSTRACT

The Virtual Classroom Management System is a comprehensive web-based platform


developed for efficient and interactive virtual education. The system facilitates seamless
communication and collaboration between teachers and students. Teachers can schedule
virtual classes, specifying details such as course, date, time, and meeting link. Students can
enroll in courses, view their personalized class schedules, and access virtual classes through
provided meeting links. The system also supports announcements, allowing teachers to
broadcast important information to enrolled students. With features implemented using Java,
JSP, and MySQL, the Virtual Classroom Management System offers a user-friendly interface
for an enhanced online learning experience in a virtual classroom setting
CONTENTS

PAGE NO
CHAPTER 1: INTRODUCTION
1.1 Introduction 01

1.2 DBMS(Database Management System) 02

1.3 JSP, Servlets AND JDBC 02-03

1.4 Problem Statement 03

1.5 Objectives 03
CHAPTER 2: SYSTEM REQUIREMENTS AND SPECIFICATION
2.1 Software Requirements 04
2.2 Hardware Requirements 04

CHAPTER 3: DESIGN
3.1 ER Diagram and description 05-06
3.2 Seven steps for ER to Schema conversion 07-09
3.3 Schema Diagram 10
3.4 Database description 11-13
CHAPTER 4: IMPLEMENTATION CODE 14-20
CHAPTER 5: SNAPSHOTS 21-24
CONCLUSION 25
REFERENCES 26
LIST OF FIGURES

Sl. No Figure. No Description Page. No

1 3.1 Entity relationship diagram 05

2 3.3 Schema diagram 10

3 5.1 Login Page 21

4 5.2 Signup Page 21

5 5.3 Home Page 22

6 5.4 Enroll Page 22

7 5.5 Profile Page 23

8 5.6 Class Scheduling Page 23

9 5.7 Teacher Dashboard Page 24

10 5.8 Scheduled Classes Page 24


DBMS Mini project – 21CSL55 2023-24

CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION

The Virtual Classroom Management System is a cutting-edge educational solution designed


to enhance the learning experience by seamlessly integrating technology into the teaching and
enrollment processes. Developed using Java Servlets and JavaServer Pages (JSP), this
dynamic system offers a user-friendly interface for students to explore and enroll in a variety
of available courses.
At its core, the project relies on a robust MySQL Database Management System (DBMS) to
store and manage crucial information about courses, student enrollments, and class schedules.
By incorporating JDBC, the system establishes a secure connection with the MySQL
database, ensuring data integrity and efficient information retrieval. The emphasis on
simplicity and accessibility reflects a commitment to user-centric design, making the learning
journey enjoyable and interactive.
A standout feature of the system is its capability to schedule virtual classes, providing a
centralized platform for instructors to plan and conduct online sessions. Real-time data access
is emphasized, enabling personalized services and timely communication between educators
and students.
The web interface is designed with a focus on user experience, allowing students to easily
enroll in courses, view schedules, and participate in virtual classes. Instructors can efficiently
manage their courses, schedule classes, and stay informed about their students' progress.
In essence, the Virtual Classroom Management System showcases technical excellence and
embodies the transformative potential of database-driven virtual classrooms. It envisions a
future where education transcends physical boundaries, making learning accessible,
interactive, and tailored to individual needs.

Department of CSE, BIET, Davangere-04.


1
DBMS Mini project – 21CSL55 2023-24

1.2 DBMS (DATABASE MANAGEMENT SYSTEM)

Database is a collection of related data and data is a collection of facts and figures that
can be processed to produce information. Mostly data represents recordable facts. Data aids in
producing information, which is based on facts. For example, if we have data about marks
obtained by all students, we can then conclude about toppers and average marks.
A database management system (DBMS) is a software package designed to define,
manipulate, retrieve and manage data in a database. A DBMS generally manipulates the data
itself, the data format, field names, record structure and file structure. It also defines rules to
validate and manipulate this data.
A DBMS relieves users of framing programs for data maintenance. Fourth- generation
query languages, such as SQL, are used along with the DBMS package to interact with a
database. Some other DBMS examples include:
 MySQL
 SQL Server
 Oracle
 dBASE
 FoxPro

1.3 JSP, SERVLETS AND JDBC

JavaServer Pages (JSP), Servlets, and Java Database Connectivity (JDBC) are key
technologies in Java for building dynamic and database-driven web applications.
JavaServer Pages (JSP): JSP is a technology that enables the creation of dynamic,
platform-independent web content. It simplifies the development of web pages by allowing
the embedding of Java code directly into HTML pages. JSP pages are compiled into servlets
behind the scenes, combining the power of Java with the flexibility of HTML. JSP is widely
used for creating dynamic and interactive web applications, providing a clean separation of
business logic and presentation.
Servlets: Servlets are Java classes that extend the functionality of servers to generate dynamic
web content. Servlets handle requests from clients, such as web browsers, and generate responses
dynamically. They are the backbone of Java web applications, allowing developers

Department of CSE, BIET, Davangere-04.

2
DBMS Mini project – 21CSL55 2023-24

to create server-side logic. Servlets can communicate with databases, perform authentication,
and manage sessions. Servlets are often used in conjunction with JSP to build robust and
scalable web applications.
Java Database Connectivity (JDBC): JDBC is a Java API that provides a standard interface
for connecting Java applications to relational databases. It allows Java applications to interact
with databases, execute SQL queries, and retrieve or update data. JDBC provides a set of
classes and methods for database connectivity, making it possible to integrate databases
seamlessly into Java applications. It is a crucial component for web applications that need to
store or retrieve data from a database. JDBC ensures that Java applications can communicate
effectively with various relational database management systems (RDBMS).

1.4 PROBLEM STATEMENT

In the current context of the Classroom Management System, there is a growing


need for an efficient and automated solution to address the challenges associated with manual
handling of class scheduling, announcements, and course management. The existing methods
rely heavily on paperwork and manual data entry, leading to inefficiencies, errors, and delays
in providing crucial information to both teachers and students. The absence of a centralized
system results in a lack of real-time access to course details, making it difficult to streamline
class schedules and communicate important updates. To overcome these limitations, the
proposed Classroom Management System seeks to develop an integrated platform that
automates class scheduling, facilitates instant announcements, and provides a user-friendly
interface for managing enrolled courses.

1.5 OBJECTIVES

The objective of this Virtual Classroom Management System is


 To design and implement a virtual classroom system that facilitates class scheduling
and announcements.
 To integrate JDBC for secure and efficient database connectivity.
 To create a user-friendly interface for teachers and students.
 To implement a secure login system for teachers and students.
 To optimize the system for efficient performance and responsiveness.

Department of CSE, BIET, Davangere-04.

3
DBMS Mini project – 21CSL55 2023-24

CHAPTER 2
REQUIREMENT SPECIFICATION
2.1 HARWARE REQUIREMENTS

The basic hardware required for the development of this project is:

• Processor: Intel Core i5

• Processor speed :1.19 GHz

• RAM :8 GB RAM

• System Type :64-Bit Operating System

2.2 SOFTWARE REQUIREMENTS

The software required for the development of this project is:

• Software: MySQL and Apache Tomcat Server 9.0

• OS: Windows 10 and higher.

• Front End: HTML, CSS and JavaScript.

• Programming Language: Java and SQL

• Database: MySQL

Department of CSE, BIET, Davangere-04.

4
DBMS Mini project – 21CSL55 2023-24

CHAPTER 3
DESIGN
3.1 ER DIAGRAM AND DESCRIPTION

Department of CSE, BIET, Davangere-04.

5
DBMS Mini project – 21CSL55 2023-24

3.1.1 DESCRIPTION

The ER Model figure shows conceptual view of the database. It works around real-world entities
and the associations among them. At view level, the ER model is considered a good option for
designing databases. So, let’s see each entity

USERS TABLE shows structure and details of the users’ table.

COURSES TABLE shows structure and details of the courses table.

SESSIONS TABLE shows structure and details of the sessions table.

ATTENDANCE TABLE shows structure and details of the attendance table.

ENROLLS TABLE Shows structure and details of the enrolls table.

DISCUSSIONS TABLE Shows structure and details of the discussion table

Department of CSE, BIET, Davangere-04.

6
DBMS Mini project – 21CSL55 2023-24

3.2 SEVEN STEPS FOR ER TO SCHEMA CONVERSION

Step 1: Mapping of Regular Entity Types.


For each regular (strong) entity type E in the ER schema, create a relation R that includes all
the simple attributes of E. Include only the simple component attributes of a composite
attribute. Choose one of the key attributes of E as the primary key for R. If the chosen key of
E is a composite, then the set of simple attributes that form it will together form the primary
key of R. If multiple keys were identified for E during the conceptual design, the information
describing the attributes that form each additional key is kept in order to specify secondary
(unique) keys of relation R. Knowledge about keys is also kept for indexing purposes and
other types of analyses.

Step 2: Mapping of Weak Entity Types.


For each weak entity type W in the ER schema with owner entity type E, create a relation R
and include all simple attributes (or simple components of composite attributes) of was
attributes of R. In addition, include as foreign key attributes of R, the primary key attribute(s)
of the relation(s) that correspond to the owner entity type(s); this takes care of mapping the
identifying relationship type of W. The primary key of R is the combination of the primary
key(s) of the owner(s) and the partial key of the weak entity type W, if any. If there is a weak
entity type E2 whose owner is also a weak entity type E1, then E1 should be mapped before
E2 to determine its primary key first.

Step 3: Mapping of Binary 1:1 Relationship Types.


For each binary 1:1 relationship type R in the ER schema, identify the relations S and T that
correspond to the entity types participating in R. There are three possible approaches: 1. The
foreign key approach. 2. The merged relationship approach, and 3. The cross-reference or
relationship approach. The first approach is the most useful and should be followed unless
special conditions exist, as we discuss below.

1.Foreign key approach:


Choose one of the relations—S, say—and include as a foreign key in S the primary key of T.
It is better to choose an entity type with total participation in R in the role of S. Include all the

Department of CSE, BIET, Davangere-04.

7
DBMS Mini project – 21CSL55 2023-24

simple attributes (or simple components of composite attributes) of the 1:1 relationship type R
as attributes of S.

2.Merged relation approach:


An alternative mapping of a 1:1 relationship type is to merge the two entity types and the
relationship into a single relation. This is possible when both participations are total, as this
would indicate that the two tables will have the exact same number of tuples at all times.

3.Cross-reference or relationship relation approach:


The third option is to set up a third relation R for the purpose of cross-referencing the primary
keys of the two relations S and T representing the entity types. As we will see, this approach is
required for binary M: N relationships. The relation R is called a relationship relation (or
sometimes a lookup table), because each tuple in R represents a relationship instance that relates
one tuple from S with one tuple from T. The relation R will include the primary key attributes of S
and T as foreign keys to S and T. The primary key of R will be one of the two foreign keys, and
the other foreign key will be a unique key of R. The drawback is having an extra relation, and
requiring an extra join operation when combining related tuples from the tables.

Step 4: Mapping of Binary 1: N Relationship Types.


For each regular binary 1: N relationship type R, identify the relation S that represents the
participating entity type at the N-side of the relationship type. Include as foreign key in S the
primary key of the relation T that represents the other entity type participating in R; we do this
because each entity instance on the N-side is related to at most one entity instance on the 1-
side of the relationship type. Include any simple attributes (or simple components of
composite attributes) of the 1: N relationship type as attributes of S.

Step 5: Mapping of Binary M: N Relationship Types.


For each binary M: N relationship type R, create a new relation S to represent R. Include as
foreign key attributes in S the primary keys of the relations that represent the participating entity
types; their combination will form the primary key of S. Also include any simple attributes of the
M: N relationship type (or simple components of composite attributes) as attributes of S. Notice
that we cannot represent an M: N relationship type by a single foreign key attribute in one of the
participating relations (as we did for 1:1 or 1: N relationship types) because of the
M: N cardinality ratio; we must create a separate relationship relation S. Department of CSE,
BIET, Davangere-04.

8
DBMS Mini project – 21CSL55 2023-24

Step 6: Mapping of Multivalued Attributes.


For each multivalued attribute A, create a new relation R. This relation R will include an
attribute corresponding to A, plus the primary key attribute K—as a foreign key in R—of the
relation that represents the entity type or relationship type that has A as a multivalued
attribute. The primary key of R is the combination of A and K. If the multivalued attribute is
composite, we include its simple components.

Step 7: Mapping of N-array Relationship Types.


For each n-array relationship type R, where n > 2, create a new relation S to represent R.
Include as foreign key attributes in S the primary keys of the relations that represent the
participating entity types. Also include any simple attributes of the n-array relationship type
(or simple components of composite attributes) as attributes of S. The primary key of S is
usually a combination of all the foreign keys that reference the relations representing the
participating entity types. However, if the cardinality constraints on any of the entity types E
participating in R is 1, then the primary key of S should not include the foreign key attribute
that references the relation E ‘corresponding to E.

Department of CSE, BIET, Davangere-04.

9
DBMS Mini project – 21CSL55 2023-24

3.3 SCHEMA DIAGRAM

Users

User_id Username password User_type courses

Courses
Course_id Course_name Instructor_id description enrollment

Enrollments
Enroll_id User_id Course_id Enroll_date

Sessions
Session_id Course_id Start_time End_time Day_of_week Meeting_link

Attendance
Attendance_id Session_id Course_id Attended_status(present,absent)

Discussions
Discuss_id Course_id User_id messag Timestamp
e

Department of CSE, BIET, Davangere-04.


10
DBMS Mini project – 21CSL55 2023-24

3.4 DATABASE DESCRIPTION

Table 3.4.1: Description of Virtual Classroom System database


Table 3.4.1 shows all the tables of Virtual Classroom system database.

Table 3.4.2: assignments table


Table 3.4.2 Table shows structure and details of the assignments table

Department of CSE, BIET, Davangere-04.

11
DBMS Mini project – 21CSL55 2023-24

Table 3.4.3: class_schedule table


Table 3.4.3 shows structure and details of the class_schedule table.

Table 3.4.4: courses table


Table 3.4.4 shows structure and details of the courses table.

Department of CSE, BIET, Davangere-04.

12
DBMS Mini project – 21CSL55 2023-24

Table 3.4.5: profiles table


Table 3.4.5 shows structure and details of the profiles table.

Table 3.4.6: signup table


Table 3.4.6 shows structure and details of the signup table.

Department of CSE, BIET, Davangere-04.

13
DBMS Mini project – 21CSL55 2023-24

CHAPTER 4
IMPLEMENTATION CODE
4.1 CONNECION CODE FOR FRONT END TO BACK END FOR SIGNUP
PAGE
4.1.1 signup.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-
scale=1.0"> <title>Sign Up - Virtual Classroom</title>
</head>
<body>
<form action="SignUpServelt" method="post">
<h2>Sign Up</h2>
<label for="userType">User Type:</label> <select
id="userType" name="userType" required>
<option value="student">Student</option>
<option value="teacher">Teacher</option>
</select><br><br>
<label for="newUsername">Username:</label>
<input type="text" id="newUsername" name="newUsername"
required> <label for="newPassword">Password:</label>
<input type="password" id="newPassword" name="newPassword"
required> <label for="department">Department:</label>
<input type="text" id="department" name="department"
required> <label for="phone">Phone:</label>
<input type="tel" id="phone" name="phone"
required> <label for="email">Email:</label>

Department of CSE, BIET, Davangere-04.

14
DBMS Mini project – 21CSL55 2023-24

<input type="email" id="email" name="email"


required> <button type="submit">Sign Up</button>
</form>
</body>
</html>

4.1.2 SignUpServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/SignUpServlet")
public class SignUpServlet extends HttpServlet
{ private static final long serialVersionUID =
1L;
// JDBC URL, username, and password of MySQL server
private static final String JDBC_URL = "jdbc:mysql://localhost:3306/dbms_project";
private static final String JDBC_USER = "root";
private static final String JDBC_PASSWORD = "root";
// Database table name
private static final String TABLE_NAME = "signup";
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-
8"); try (PrintWriter out = response.getWriter()) {
/ Register the MySQL JDBC driver Class.forName("com.mysql.cj.jdbc.Driver");
String userType = request.getParameter("userType");

Department of CSE, BIET, Davangere-04.

15
DBMS Mini project – 21CSL55 2023-24

String newUsername = request.getParameter("newUsername");


String newPassword = request.getParameter("newPassword");
String department = request.getParameter("department");
String phone = request.getParameter("phone");
String email = request.getParameter("email");
try (Connection connection = DriverManager.getConnection(JDBC_URL,
JDBC_USER, JDBC_PASSWORD)) {
// The MySQL INSERT statement
String query = "INSERT INTO " + TABLE_NAME + " (Usertype, username,
password, department, phone, email) VALUES (?, ?, ?, ?, ?,?)";
try (PreparedStatement preparedStatement = connection.prepareStatement(query))
{ preparedStatement.setString(1, userType); preparedStatement.setString(2,
newUsername); preparedStatement.setString(3, newPassword);
preparedStatement.setString(4, department); preparedStatement.setString(5,
phone);

preparedStatement.setString(6, email);
int affectedRows = preparedStatement.executeUpdate(); if
(affectedRows > 0) {
out.println("<html><body><h2>Sign Up Successful!</h2><a href='Login
page.jsp'>Go to login page</a></body></html>");
} else {
out.println("<html><body><h2>Error occurred during Sign Up. Please try
again.</h2></body></html>");
}
}
} catch (SQLException e) {
throw new ServletException("Database connection error", e);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}

Department of CSE, BIET, Davangere-04.

16
DBMS Mini project – 21CSL55 2023-24

4.1.3 DISPLAY DATA FROM DATABASE TO WEBPAGE (enroll.jsp)


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-
8"%>
<%@ page import="java.sql.*, java.util.ArrayList, java.util.List" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-
scale=1.0"> <title>Courses List</title>
</head>
<body>
<header>
<h1>Courses List</h1>
</header>
<nav>
<a href="home.jsp"><i class="fas fa-chevron-left"></i> Back to Home</a>
</nav>
<section>
<h2>Available Courses</h2>
<div class="course-container" >
<%
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/dbms_project", "root",
"root"); Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM
courses"); while (rs.next()) {
%>
<div class="course" id="enrolledCourse<%= rs.getInt("id") %>">
<h3>Course ID: <%= rs.getInt("id") %></h3>
<h3>Course Name: <%= rs.getString("courseName") %></h3>

Department of CSE, BIET, Davangere-04.

17
DBMS Mini project – 21CSL55 2023-24

<p class="course-description">Course Description: <%=


rs.getString("courseDescription") %></p>
<form id="enrollForm<%= rs.getInt("id") %>"
action="dashboard.jsp" method="post">
<input type="hidden" name="course_id" value="<%= rs.getInt("id") %>"> <a
href="mycourses.jsp?enrolledCourseID=<%= rs.getInt("id")
%>&enrolledCourseName=<%= rs.getString("courseName")
%>"> <button>Enroll</button>
</a>
</form>
</div>
<%
}
con.close();
} catch (Exception e) {
out.println("Error: " + e.getMessage());
}
%>
</div>
</section>
</body>
</html>

Department of CSE, BIET, Davangere-04.

18
DBMS Mini project – 21CSL55 2023-24

4.2 SQL STATEMENTS

1.CREATION OF CLASS_SCHEDULE TABLE

CREATE TABLE class_schedule (


id INT AUTO_INCREMENT PRIMARY
KEY, course VARCHAR(255) NOT NULL,
date DATE NOT NULL,
time TIME NOT NULL,
meeting_link VARCHAR(255) NOT NULL
FOREIGN KEY (course) REFERENCES courses(courseName)
);

2.CREATION OF ASSIGNMENTS TABLE

CREATE TABLE assignments (


assignment_id INT AUTO_INCREMENT PRIMARY
KEY, AssignmentTitle VARCHAR(450) NOT NULL,
DueDate VARCHAR(45),
CName VARCHAR(45),
FOREIGN KEY (CName) REFERENCES courses(courseName)
);
3.CREATION OF COURSES TABLE

CREATE TABLE courses (


id INT AUTO_INCREMENT PRIMARY
KEY, courseName VARCHAR(45) NOT
NULL, courseDescription VARCHAR(450)
);

Department of CSE, BIET, Davangere-04.

19
DBMS Mini project – 21CSL55 2023-24

4.CREATION OF PROFILES TABLE

CREATE TABLE profiles (


first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
phone VARCHAR(15) NOT NULL,
email VARCHAR(45) NOT NULL UNIQUE,
gender VARCHAR(10) DEFAULT 'unknown',
address VARCHAR(255) DEFAULT 'unknown',
);

5.CREATION OF SIGNUP TABLE

CREATE TABLE signup (


usertype VARCHAR(45) NOT NULL,
username VARCHAR(20) PRIMARY KEY,
password VARCHAR(45) NOT NULL,
department VARCHAR(45) NOT NULL,
phone VARCHAR(100) NOT NULL,
email VARCHAR(45) PRIMARY KEY
);

Department of CSE, BIET, Davangere-04.

20
DBMS Mini project – 21CSL55 2023-24

CHAPTER 5
SNAPSHOTS

Fig 5.1: Login Page


Figure 5.1 shows the login page of the virtual classroom management system.

Fig 5.2: Signup Page


Figure 5.2 shows the signup page of the virtual classroom management system.

Department of CSE, BIET, Davangere-04.

21
DBMS Mini project – 21CSL55 2023-24

Fig 5.3: Home Page


Figure 5.3 shows the Students Home page of the virtual classroom management system.

Fig 5.4: Enroll Page


Figure 5.4 shows the course enroll page of the virtual classroom management system

Department of CSE, BIET, Davangere-04.

22
DBMS Mini project – 21CSL55 2023-24

Fig 5.5: Profile Page


Figure 5.5 shows the student profile page of the virtual classroom management system.

Fig 5.6: Class Scheduling Page


Figure 5.6 shows the class scheduling page of the virtual classroom management system.

Department of CSE, BIET, Davangere-04.

23
DBMS Mini project – 21CSL55 2023-24

Fig 5.7: Teacher Dashboard Page


Figure 5.7 shows the teacher dashboard page of the virtual classroom management system.

Fig 5.8: Scheduled Classes Page


Figure 5.8 shows the scheduled classes page of the virtual classroom management system.

Department of CSE, BIET, Davangere-04.

24
DBMS Mini project – 21CSL55 2023-24

CONCLUSION

The Virtual Classroom Management System provides an innovative platform for seamless
interaction and learning in a virtual environment. The implemented Virtual Classroom
Management System stands as a testament to the capabilities of Java Servlets, JSP, and JDBC
in creating a robust and interactive virtual learning environment. The successful integration of
these technologies has allowed for efficient class scheduling, user authentication, and
seamless communication between teachers and students. The project lays the foundation for
potential future enhancements and improvements. As technology evolves, there is room for
further features, optimizations, and adaptability to meet the changing dynamics of virtual
education. Future iterations could explore additional functionalities, improved user interfaces,
and enhanced security measures to ensure the system continues to cater to the evolving needs
of virtual classrooms. The Virtual Classroom Management System is not just a project; it's a
stepping stone towards a continuously evolving and innovative virtual education landscape.

Department of CSE, BIET, Davangere-04.

25
DBMS Mini project – 21CSL55 2023-24

REFERENCES

th
1. Fundamentals of database systems, Ramez Elmasri and S B Navathe, 7 Edition, 2017,
Pearson
rd
2. Database management systems, Ramakrishnan, and Gehrke, 3 Edition, 2014, McGraw Hill.
3. Coronel, Morris, and Rob, Database Principles Fundamentals of Design, Implementation
and Management, Cengage Learning 2012.
th
4. Silberschatz Korth and Sudharshan, Database System Concepts, 6 Edition, McGraw Hill,
2013.
5. https://www.w3schools.com/
6. https://www.tutorialspoint.com/website_development/index.html

Department of CSE, BIET, Davangere-04.

26
DBMS Mini project – 21CSL55 2023-24

Department of CSE, BIET, Davangere-04.

27

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy