ONLINE COURSE
REGISTRATION
~1~
CHAPTER-1
Introduction
Introduction:-
Online Course Registration System is Web-based registration software that helps
you to register courses online. It is ideal for schools, educational camps, corporate
training programs, and online training programs. It also provides time to time
current status information related to courses. It can help for the student need to
register by giving necessary details, for the desired course.
In Online Course Registration we use PHP and MySQL database. It is web-based
registration software that helps you to register courses online. It is ideal schools,
educational camps, and corporate training program. It has two modules i.e.
Admin and Student.
Admin:
Admin will register the student and provide username; password and
pincode.Pincode will be used when a student enrolls for the course. Admin can
manage session, semester, departments, course, students, students log AdminPanel.
Admin can also add/ delete latest news and updates related to students.
Student:
Student can log in with valid reg no and password provided by admin. Student can
enroll for any course and can printout of the registered course.
Purpose:-
The purpose of project is to build an application program to reduce manual work
for managing the course through internet. This application has good appearance
and easy to operate. It is very simple and easy to access. This project provides lots
of features to manage in very well manner. This project contains advance modules
which make the backend system very powerful.
~2~
CHAPTER-2
Requirement Specification
Hardware Configuration :
Client Side:
RAM 512 MB
Hard disk 10 GB
Processor 1.0 GHz
Server side:
RAM 1 GB
Hard disk 20 GB
Processor 2.0 GHz
Software Requirement:
Client Side:
Google Chrome or any compatible
Web Browser browser
Operating System
Windows or any equivalent OS
~3~
Server Side:
Web Server APACHE
Server side Language PHP5.6 or above version
Database Server MYSQL
Google Chrome or any compatible
Web Browser browser
Operating System Windows or any equivalent OS
APACHE
The Apache HTTP Server Project is an effort to develop and maintain an open-
source HTTP server for modern operating systems including UNIX and Windows.
The goal of this project is to provide a secure, efficient and extensible server that
provides HTTP services in sync with the current HTTP standards.
The Apache HTTP Server ("httpd") was launched in 1995 and it has been the most
popular web server on the Internet since April 1996. It has celebrated its 20th
birthday as a project in February 2015.
PHP
• PHP stands for PHP: Hypertext Preprocessor.
~4~
• PHP is a server-side scripting language, like ASP.
• PHP scripts are executed on the server.
• PHP supports many databases (MYSQL, Informix, Oracle, Sybase,
Solid,Generic ODBC, etc.).
• PHP is an open-source software.
• PHP is free to download and use.
MYSQL
• MYSQL is a database server
• MYSQL is ideal for both small and large applications
• MYSQL supports standard SQL
• MYSQL compiles on a number of platforms
• MYSQL is free to download and use
• How to access MySQL:
http://localhost/phpmyadmin
~5~
CHAPTER-3
Analysis and Design
Analysis:
In present all student registration work done on the paper. The whole year
student enroll data is stored in the registers.
Disadvantage of present system:
• Not user friendly: The present system not user friendly because data is not
stored in structure and proper format.
• Manual Control: All report calculation is done manually so there is a
chanceof error.
• Lots of paper work: Visitors maintain in the register so lots of paper
requirestoring details.
• Time consuming
Design Introduction:
Design is the first step in the development phase for any techniques and
principles for the purpose of defining a device, a process or system in sufficient
detail to permit its physical realization.
~6~
Once the software requirements have been analyzed and specified the software
design involves three technical activities - design, coding, implementation and
testing that are required to build and verify the software.
The design activities are of main importance in this phase, because in this activity,
decisions ultimately affecting the success of the software implementation and its
ease of maintenance are made. These decisions have the final bearing upon
reliability and maintainability of the system. Design is the only way to accurately
translate the customer’s requirements into finished software or a system.
Design is the place where quality is fostered in development. Software design is a
process through which requirements are translated into a representation of
software. Software design is conducted in two steps. Preliminary design is
concerned with the transformation of requirements into data
UML
Diagrams:
Actor:
A coherent set of roles that users of use cases play when interacting withthe
use `cases.
Use case:A description of sequence of actions, including variants, that a system
performs that yields an observable result of value of an actor.
~7~
UML stands for Unified Modeling Language. UML is a language for specifying,
visualizing and documenting the system. This is the step while developing any
product after analysis. The goal from this is to produce a model of the entities
involved in the project which later need to be built. The representation of the
entities that are to be used in the product being developed need to be designed.
USECASE DIAGRAMS:
Use case diagrams model behavior within a system and helps the developers
understand of what the user require. The stick man represents what’s called an
actor.
Use case diagram can be useful for getting an overall view of the system and
clarifying who can do and more importantly what they can’t do.
Use case diagram consists of use cases and actors and shows the interaction
between the use case and actors.
• The purpose is to show the interactions between the use case and actor.
• To represent the system requirements from user’s perspective.
• An actor could be the end-user of the system or an external system.
USECASE DIAGRAM: A Use case is a description of set of sequence of actions.
Graphically it is rendered as an ellipse with solid line including only its name. Use
case diagram is a behavioral diagram that shows a set of use cases and actors and
their relationship. It is an association between the use cases and actors.
~8~
CHAPTER-4
Use Case Diagrams:
Admi
n Session
Semester
Departmen
Course
Registratio
n
Manage
Student
Enrol History
Student Logs
Manage News
Change
Passwor
d
~9~
Student View News / Updates
Sign In
Enrol for Course
Enrol History
Profile
Change Password
~ 10 ~
Class Diagram:
A description of set of objects that share the same attributes operations,
relationships, and semantics
~ 11 ~
ER Diagram:
The Entity-Relationship (ER) model was originally proposed by Peter in 1976
[Chen76] as a way to unify the network and relational database views. Simply
stated the ER model is a conceptual data model that views the real world as
entities and relationships. A basic component of the model is the Entity-
Relationship diagram which is used to visually represent data objects. Since Chen
wrote his paper the model has been extended and today it is commonly used for
database design for the database designer, the utility of the ER model is:
• It maps well to the relational model. The constructs used in the ER model
can easily be transformed into relational tables.
• It is simple and easy to understand with a minimum of training. Therefore,
the model can be used by the database designer to communicate the design
to the end user.
• In addition, the model can be used as a design plan by the database
developer to implement a data model in specific database management
software.
ER Notation
There is no standard for representing data objects in ER diagrams. Each modeling
methodology uses its own notation. The original notation used by Chen is widely
used in academics texts and journals but rarely seen in either CASE tools or
publications by non-academics. Today, there are a number of notations used;
among the more common are Bachman, crow's foot, and IDEFIX.
All notational styles represent entities as rectangular boxes and relationships as
lines connecting boxes. Each style uses a special set of symbols to represent the
cardinality of a connection. The notation used in this document is from Martin.
The symbols used for the basic ER constructs are:
~ 12 ~
• Entities are represented by labeled rectangles. The label is the name of the
entity. Entity names should be singular nouns.
• Relationships are represented by a solid line connecting two entities. The
name of the relationship is written above the line. Relationship names
should be verbs
• Attributes, when included, are listed inside the entity rectangle. Attributes
which are identifiers are underlined. Attribute names should be singular
nouns.
• Cardinality of many is represented by a line ending in a crow's foot. If
thecrow's foot is omitted, the cardinality is one.
Existence is represented by placing a circle or a perpendicular bar on the line.
Mandatory existence is shown by the bar (looks like a 1) next to the entity for an
instance is required. Optional existence is shown by placing a circle next to the
entity that is optional.
~ 13 ~
~ 14 ~
CHAPTER-5
MySQL Data Tables:
Admin Table: Table Name(admin)
This store admin personal and login details.
Course Table: Table Name(course)
This store the course details
~ 15 ~
Enrolls Table: Table
Name(courseenrolls)This store detail of
course enroll
Department Table: Table Name
(department)This stored department detail
Level Table: Table Name
(level) This stored detail of
course level
Semester Table: Table Name
(semester)This store detail of semester
~ 16 ~
Session Table: Table Name
(session)This stored detail of session
Student Table: Table Name
(student)This stored detail of student
News: Table Name (news)
This stored the latest news / updates
User logs: Table Name (userlog)
This stored detail of user login time
~ 17 ~
CHAPTER-6
Implementation and System
Testing
After all phase have been perfectly done, the system will be implemented to theserverand
the system can be used.
Sample code:
Index.html:
<?php
.Session_start()
Include(‘includes/config.php’);
Error_reporting(0);
If(strlen($_SESSION[‘login’])==0)
{
Header(‘location:index.php’);
}
Else{
If(isset($_POST[‘submit’]))
{
$studentname=$_POST[‘studentname’];
$photo=$_FILES[“photo”][“name”];
$cgpa=$_POST[‘cgpa’];
Move_uploaded_file($_FILES[“photo”][“tmp_name”],”studentphoto/”.$_FILES[“photo”][“name”]);
$ret=mysqli_query($con,”update students set
studentName=’$studentname’,studentPhoto=’$photo’,cgpa=’$cgpa’ where
StudentRegno=’”.$_SESSION[‘login’].”’”);
If($ret)
{
~ 18 ~
.Echo ‘<script>alert(“Student Record updated Successfully !!”)</script>’;
Echo ‘<script>window.location.href=my-profile.php</script>’;
else{
Echo ‘<script>alert(“Something went wrong . Please try again.!”)</script>’;Echo
‘<script>window.location.href=my-profile.php</script>’;
}
}
?>
<!DOCTYPE html>
<html xmlns=http://www.w3.org/1999/xhtml>
<head>
<meta charset=”utf-8” />
<meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1” />
<meta name=”description” content=”” />
<meta name=”author” content=”” />
<title>Student Profile</title>
<link href=”assets/css/bootstrap.css” rel=”stylesheet” />
<link href=”assets/css/font-awesome.css” rel=”stylesheet” />
<link href=”assets/css/style.css” rel=”stylesheet” />
</head>
<body>
<?php include(‘includes/header.php’);?>
<!—LOGO HEADER END
<?php if($_SESSION[‘login’]!=””)
{
Include(‘includes/menubar.php’);
}
?>
<!—MENU SECTION END
<div class=”content-wrapper”>
~ 19 ~
<div class=”container”>
<div class=”row”>
<div class=”col-md-12”>
<h1 class=”page-head-line”>Student Registration </h1>
</div>
</div>
<div class=”row” >
<div class=”col-md-3”></div>
<div class=”col-md-6”>
<div class=”panel panel-default”>
<div class=”panel-heading”>
Student Registration
</div>
<font color=”green” align=”center”><?php echo
htmlentities($_SESSION[‘msg’]);?><?php echo
htmlentities($_SESSION[‘msg’]=””);?></font>
<?php $sql=mysqli_query($con,”select * from students where
StudentRegno=’”.$_SESSION[‘login’].”’”);
$cnt=1; While($row=mysqli_fetch_array($sql))
{ ?>
<div class=”panel-body”>
<form name=”dept” method=”post” enctype=”multipart/form-data”>
<div class=”form-group”>
<label for=”studentname”>Student Name </label>
<input type=”text” class=”form-control” id=”studentname” name=”studentname”value=”<?php
echo htmlentities($row[‘studentName’]);?>” />
</div>
<div class=”form-group”>
<label for=”studentregno”>Student Reg No </label>
<input type=”text” class=”form-control” id=”studentregno” name=”studentregno”
~ 20 ~
value=”<?php echo htmlentities($row[‘StudentRegno’]);?>” placeholder=”StudentReg no”
readonly />
</div>
<div class=”form-group”>
<label for=”Pincode”>Pincode </label>
<input type=”text” class=”form-control” id=”Pincode” name=”Pincode” readonlyvalue=”<?php
echo htmlentities($row[‘pincode’]);?>” required />
</div>
<div class=”form-group”>
<label for=”CGPA”>CGPA </label>
<input type=”text” class=”form-control” id=”cgpa” name=”cgpa” value=”<?phpecho
htmlentities($row[‘cgpa’]);?>” required />
</div>
<div class=”form-group”>
<label for=”Pincode”>Student Photo </label>
<?php if($row[‘studentPhoto’]==””){ ?>
<img src=”studentphoto/noimage.png” width=”200” height=”200”><?php } else {?>
<img src=”studentphoto/<?php echo htmlentities($row[‘studentPhoto’]);?>”
width=”200” height=”200”>
<?php } ?>
</div>
<div class=”form-group”>
<label for=”Pincode”>Upload New Photo </label>
<input type=”file” class=”form-control” id=”photo” name=”photo” value=”<?phpecho
htmlentities($row[‘studentPhoto’]);?>” />
</div>
~ 21 ~
<?php } ?>
<button type=”submit” name=”submit” id=”submit” class=”btn btn-
default”>Update</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php include(‘includes/footer.php’);?>
<script src=”assets/js/jquery-1.11.1.js”></script>
<script src=”assets/js/bootstrap.js”></script>
</body>
</html>
<?php } ?>
~ 22 ~
Index.php:
<?php
Session_start();
Include(‘includes/config.php’);
Error_reporting(0);
If(strlen($_SESSION[‘login’])==0)
{
Header(‘location:index.php’);
}
Else{
If(isset($_POST[‘submit’]))
{
$studentname=$_POST[‘studentname’];
$photo=$_FILES[“photo”][“name”];
$cgpa=$_POST[‘cgpa’];
Move_uploaded_file($_FILES[“photo”][“tmp_name”],”studentphoto/”.$_FILES[“photo”][“name”]);
$ret=mysqli_query($con,”update students set
studentName=’$studentname’,studentPhoto=’$photo’,cgpa=’$cgpa’ where
StudentRegno=’”.$_SESSION[‘login’].”’”);
If($ret)
{
Echo ‘<script>alert(“Student Record updated Successfully !!”)</script>’;Echo
‘<script>window.location.href=my-profile.php</script>’;
}else{
Echo ‘<script>alert(“Something went wrong . Please try again.!”)</script>’;Echo
‘<script>window.location.href=my-profile.php</script>’;
}
}
?>
~ 23 ~
<!DOCTYPE html>
<html xmlns=http://www.w3.org/1999/xhtml>
<head>
<meta charset=”utf-8” />
<meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1” />
<meta name=”description” content=”” />
<meta name=”author” content=”” />
<title>Student Profile</title>
<link href=”assets/css/bootstrap.css” rel=”stylesheet” />
<link href=”assets/css/font-awesome.css” rel=”stylesheet” />
<link href=”assets/css/style.css” rel=”stylesheet” />
</head>
<body>
<?php include(‘includes/header.php’);?>
<!—LOGO HEADER END
<?php if($_SESSION[‘login’]!=””)
{
Include(‘includes/menubar.php’);
}
?>
<!—MENU SECTION END
<div class=”content-wrapper”>
<div class=”container”>
<div class=”row”>
<div class=”col-md-12”>
<h1 class=”page-head-line”>Student Registration </h1>
</div>
</div>
<div class=”row” >
<div class=”col-md-3”></div>
~ 24 ~
<div class=”col-md-6”>
<div class=”panel panel-default”>
<div class=”panel-heading”>
Student Registration
</div>
<font color=”green” align=”center”><?php echo
htmlentities($_SESSION[‘msg’]);?><?php echo
htmlentities($_SESSION[‘msg’]=””);?></font>
<?php $sql=mysqli_query($con,”select * from students where
StudentRegno=’”.$_SESSION[‘login’].”’”);
$cnt=1; While($row=mysqli_fetch_array($sql))
{ ?>
<div class=”panel-body”>
<form name=”dept” method=”post” enctype=”multipart/form-data”>
<div class=”form-group”>
<label for=”studentname”>Student Name </label>
<input type=”text” class=”form-control” id=”studentname” name=”studentname”value=”<?php
echo htmlentities($row[‘studentName’]);?>” />
</div>
<div class=”form-group”>
<label for=”studentregno”>Student Reg No </label>
<input type=”text” class=”form-control” id=”studentregno” name=”studentregno”
value=”<?php echo htmlentities($row[‘StudentRegno’]);?>” placeholder=”Student Reg no”
readonly />
</div>
<div class=”form-group”>
~ 25 ~
<label for=”Pincode”>Pincode </label>
<input type=”text” class=”form-control” id=”Pincode” name=”Pincode” readonlyvalue=”<?php
echo htmlentities($row[‘pincode’]);?>” required />
</div>
<div class=”form-group”>
<label for=”CGPA”>CGPA </label>
<input type=”text” class=”form-control” id=”cgpa” name=”cgpa” value=”<?phpecho
htmlentities($row[‘cgpa’]);?>” required />
</div>
<div class=”form-group”>
<label for=”Pincode”>Student Photo </label>
<?php if($row[‘studentPhoto’]==””){ ?>
<img src=”studentphoto/noimage.png” width=”200” height=”200”><?php } else {?>
<img src=”studentphoto/<?php echo htmlentities($row[‘studentPhoto’]);?>”
width=”200” height=”200”>
<?php } ?>
</div>
<div class=”form-group”>
<label for=”Pincode”>Upload New Photo </label>
<input type=”file” class=”form-control” id=”photo” name=”photo” value=”<?phpecho
htmlentities($row[‘studentPhoto’]);?>” />
</div>
<?php } ?>
<button type=”submit” name=”submit” id=”submit” class=”btn btn-
default”>Update</button>
</form>
</div>
~ 26 ~
</div>
</div>
</div>
</div>
</div>
</div>
<?php include(‘includes/footer.php’);?>
<script src=”assets/js/jquery-1.11.1.js”></script>
<script src=”assets/js/bootstrap.js”></script>
</body>
</html>
<?php } ?>
~ 27 ~
System Testing
The goal of the system testing process was to determine all faults in our project .The
program was subjected to a set of test inputs and many explanations were made and based
on these explanations it will be decided whether the program behaves as expectedor not.
Our Project went through two levels of testing.
1. Unit testing
2. Integration testing
UNIT TESTING
Unit testing is commenced when a unit has been created and effectively reviewed
.In order to test a single module we need to provide a completeenvironment i.e.
besides the section we would require
• The procedures belonging to other units that the unit under test calls
• Non local data structures that module accesses
• A procedure to call the functions of the unit under test with
appropriate parameters
~ 28 ~
1. Test for the admin module
• Testing admin login form-This form is used for log in of administrator of
thesystem. In this form we enter the username and password if both are
correct administration page will open otherwise if any of data is wrong it
will get redirected back to the login page and again ask the details.
• Report Generation: admin can generate report from the main database.
INTEGRATION TESTING
In the Integration testing we test various combination of the project module by
providing the input.
The primary objective is to test the module interfaces in order to confirm that no
errors are occurring when one module invokes the other module.
~ 29 ~
CHAPTER-7
Evaluation:
Project URL: http://localhost/onlinecourse
Admin Login Page
Change Password
~ 30 ~
Add/Manage Session
Add/Manage Semester
~ 31 ~
Add/Manage Department
Add/Manage Course
~ 32 ~
Student Registration
Manage Student
~ 33 ~
Student Enroll History
Student Logs
~ 34 ~
News
Student Login Page
~ 35 ~
Change Password
STUDENT PINCODE VERIFICATION
~ 36 ~
Course Enroll
Enroll History
~ 37 ~
My Profile
~ 38 ~
CHAPTER-8
Conclusion:
This Application provides a computerized version of Online Course Registration
which will benefit the schools, educational camps, corporate training programs,
and online training programs.
The Application was designed in such a way that future changes can be
done easily. The following conclusions can be deduced from the development of
the project.
• Automation of the entire system improves the productivity.
• It provides a friendly graphical user interface which proves to be
better when compared to the existing system.
• It gives appropriate access to the authorized users depending on
their permissions.
• It effectively overcomes the delay in communications.
• Updating of information becomes so easier.
• System security, data security and reliability are the striking features.
• The System has adequate scope for modification in future if it is
necessary.
~ 39 ~
References
For PHP
• https://www.w3schools.com/php/default.asp
• https://www.sitepoint.com/php/
• https://www.php.net/
For MySQL
• https://www.mysql.com/
• http://www.mysqltutorial.org
For XAMPP
• https://www.apachefriends.org/download.html
~ 40 ~