Final Project Report
Final Project Report
By
2
CERTIFICATE OF ORIGINAL WORK
Certified that the report entitled “Online Back Paper Management System” submitted to
Department of Computer Science and Information Technology, Vaugh Institute of
Agricultural, Engineering and Technology, Sam Higginbottom University of Agriculture,
Technology and Sciences, Naini, Prayagraj (U.P) INDIA, in partial fulfillment of the
requirement for the award of the degree of “Bachelor of Computer Applications” is a
bonafide work carried out by Mr. Shubham Chaurasia (ID.No:17BCA013) and Mr.
Ikshwaku Pratap Pal (ID.No:17BCA002) under my supervision and guidance. The
results reported by them are genuine and script of report has been written by candidates
themselves. Therefore report has been recommended for acceptance.
3
CERTIFICATE OF ACCEPTANCE OF EVALUATION
COMMITTEE
This is to certify that the report entitled “Online Back Paper Management System” has
been prepared and submitted by Mr. Shubham Chaurasia (17BCA013) and Mr.
Ikshwaku Pratap Pal (17BCA002) in partial fulfillment of the requirement for the award
of the degree of Bachelor of Computer Applications, in Department of Computer Science
and Information Technology, Vaugh Institute of Agricultural, Engineering and Technology,
Sam Higginbottom University of Agriculture, Technology and Sciences, Prayagraj (U.P.)
INDIA.
The report has been examined by the evaluation committee and found acceptable.
Place: Prayagraj Prof. Dr. W. Jeberson
Date : Chairman
Head, Dept. of Computer Science & I.T
VIAET, SHUATS, Prayagraj
4
TABLE OF CONTENTS
Title Page No.
TITLE PAGE
DECLARATION
CERTIFICATE OF ORIGINAL WORK
EVALUATION COMMITTEE REPORT
ABSTRACT I
ACKNOWLEDGEMENT II
LIST OF TABLES III
LIST OF FIGURES IV
CHAPTER 1 INTRODUCTION 11-14
1.1 OVERVIEW 12
1.2 CONCEPT OF BACK PAPER 12
1.3 OBJECTIVES 13
1.4 PROBLEM STATEMENT 13
1.5 PROBLEM SOLUTION 13
1.6 SCOPE OF THE PROJECT 14
5
CHAPTER 5 SYSTEM IMPLEMENTATION 34-35
CHAPTER 6 SYSTEM TESTING 36-38
6.1 UNIT TESTING 37
6.2 VALIDATION TESTING 37
6.3 BOUNDRY VALUE ANALYSIS 37
6.4 LOAD TESTING 37
6.5 FUNCTIONAL TESTING 38
CHAPTER 7 SYSTEM LIMITATIONS 39-40
CHAPTER 8 CONCLUSION AND FUTURE ENHANCEMENT 41-42
8.1 CONCLUSION 42
8.2 FUTURE ENHANCEMENT 42
REFRENCES 43-44
APPENDIX
A. SCREEN SHOT
B. SOURCE CODE
6
ABSTRACT
An online back paper management system is mainly designed to resolve the complexity of
back paper application process and the work load of managing staff. For accessing this
system, students only needs a login id and password, for that they have to sign up in this
system. Proposed system offers the functionality of online back exam application form
filling, exams related notification and download admit card from the dedicated dashboard
for students. This system is very useful for the managing staff as well. This system has a
central database where all the records related to students are stored and the managing staff
can easily access it whenever he wants. Managing staff can check students profile, search
for the particular student details, schedule the exams, post notifications, verify the forms,
and add course, program, department and schools. These features will help to remove the
work load of the managing staff and also saves the time for students which they can utilize
in their study.
7
ACKNOWLEDGEMENT
We would like to acknowledge to all who helped us directly or indirectly during the
completion of this project successfully.
We are grateful to Prof. (Dr.) W. Jeberson, Head of Department of Computer Science and
Information Technology, Vaugh Institute of Agricultural Engineering and Technology, for
providing us the department facilities during the course of this project.
We express profound sense of gratitude to our advisor Er. Mohit Paul, Assistant
Professor, Department of Computer Science and Information Technology, for his
motivation, feedback and guidance. It is due to his brilliant ideas, able guidance and
directions that we could grow as BCA scholar and produce this work. We heartily thanks to
our project advisor, for giving us adequate time to educate us for developing the idea.
We would like to express our special gratitude to Er. S.T. Singh, Assistant Professor,
Department of Computer Science and Information Technology and Er. Gaurav Panday,
Assistant Professor, Department of Computer Science and Information Technology for
giving us this opportunity to develop and provide guidance throughout the project.
Also we would like to thanks to our friends, for their support and valuable prayers.
We are highly obliged to all the faculty members and staffs of Computer Science and
Information Technology Department for their support and encouragement.
8
LIST OF FIGURES
9
LIST OF TABLES
10
CHAPTER 1
INTRODUCTION
11
1. INTRODUCTION
1.1 OVERVIEW
We live in the age of internet. It has become an important medium for doing most of the
things in our life. Besides, the internet is an invention of high-end science and modern
technology. It is very difficult to estimate the area that internet covers. As of now, we are
using internet in every possible field for making our work easier. Most of the institutions
are accessing the internet for making their work easier. Online back paper management
system is a web based application which is mainly designed for students and the back paper
managing faculties. This system is designed to make this process easier for faculties as well
as students. Students cannot apply without fulfilling all the necessary documents and
information. Faculties can check student’s applications online using this system which
helps them to save their time. As we all know, time is important for everyone, and for
students, it matters a lot. When students get any repeat in any subject during their studies,
they have to give back exams. For that, they fill a form for the related subject and apply
through offline. This process is time taking and waste of time. Students should use this time
to prepare themselves well for the exams and in the perspective of managing faculties, it is
hard to verify that students has attached all the necessary documents or not and manage
their records.
• In how many papers, a student can fill the back paper form.
• What fee should be to fill the back paper form?
• When and how many days the exam will be conducted?
12
1.3 OBJECTIVES
The objective of the project is to make an web application to fill the back paper
application form online and manage the records easily. A complete and efficient web
application which can provide the online back paper related services like online application
form for back exams, download admit card, and get notifications of exams and manages the
records well which is very tough for the managing staff is the basic objective of the
proposed system.
13
1.6 SCOPE OF THE PROJECT
• Traditional methods of organizing back exams are upgraded with software.
• It manages students records related to back exams easily and provides many
facilities like generate notification, check students profile, manage exams and
update course.
• It also provides facilities like download admit card, and back exam application
form online.
14
CHAPTER 2
TOOLS/ENVIRONMENT
USED
15
2. TOOLS/ENVIRONMENT USED
Software Used
• Xampp Server (for local hosting)
• 64 bit Windows 10 Operating System
• Mozilla Firefox/Google Chrome Browser
• VS Code Editor
Hardware Used
• Intel i5 8th gen processor
• RAM 8GB
• Hard Disk Drive 1 Tb
• Intel UHD Graphics 630
Software Used
• Mozilla Firefox/Google Chrome Browser
Hardware Used
• Intel i5 8th gen processor
• RAM 8GB
• Hard Disk Drive 1 Tb
• Intel UHD Graphics 630
Performance Requirement
• Response of the Internet connection should be fast.
16
2.2 SOFTWARES/TOOLS/TECHNOLOGY
• HTML5 (Hyper Text Markup Language Version 5.0)
HTML5 is used to create electronic documents (called pages) that are displayed on the
World Wide Web. HTML code ensures the proper formatting of text and images for your
Internet Browser. Without HTML, a browser would not know how to display text as
elements or load images or other elements. HTML also provides a basic structure of the
page, upon which Cascading Style Sheets are overlaid to change its appearance. Once
could think of HTML as the bones of a web page, and CSS as its skin.
• MySQL DATABASE
MySQL is a database system used on the web. MySQL is developed, distributed, and
supported by Oracle Corporation. It is a database system that runs on a server. MySQL is
ideal for both small and large applications and it is very fast, reliable and easy to use. The
data in a MySQL database are stored in tables. A table is a collection of related data, and it
consists of column and rows.
• JQuery
JQuery is a JavaScript library. JQuery greatly simplifies JavaScript programming. The
purpose of JQuery is to make it much easier to use JavaScript on your website. JQuery
takes a lot of common tasks that require many lines of JavaScript code to accomplish, and
wraps them into methods that you can call with a single line of code. JQuery also simplifies
a lot of the complicated things from JavaScript, like AJAX calls and DOM manipulation.
17
• BOOTSTRAP 4
Bootstrap 4 is the newest version of Bootstrap, which is the most popular HTML, CSS and
JavaScript Framework for developing responsive, mobile-first websites. Bootstrap 4 with
new components, faster style sheet and more responsiveness. Bootstrap 4 supports the
latest, stable release of all major browsers and plateforms.
• XAMPP SERVER
XAMPP is a free and open-source cross-plateform web server solution stack package
developed by Apache Friends, consisting mainly of the Apache HTTP Server, MariaDB
database, and interpreters for scripts written in PHP and PERL programming Languages.
The use of XAMPP is to test the clients or your websites before uploading it to the remote
web server. This XAMPP server software gives you the suitable environment for testing
MySQL, PHP, Apache and PERL Projects on the local computer.
18
CHAPTER 3
SYSTEM ANALYSIS
19
3. SYSTEM ANALYSIS
System analysis is conducted for the purpose of studying a system or its parts in order to
identify its objectives. It is a problem solving technique that improves the system and
ensures that all the components of the system work efficiently to accomplish their purpose.
Analysis specifies what the system should do.
20
3.4 NON-FUNCTIONAL REQUIREMENTS
• Intuitiveness: How simple it is to understand the interface, navigation bar,
headings etc.
• Reliability: Users should have password protected account so that no one can
access it except them.
• Performance: Size of application should be less and have simple UI which will
help in smooth functioning.
• Availability: This application should be available easily for students and admin.
21
CHAPTER 4
SYSTEM DESIGN
22
4. SYSTEM DESIGN
23
4.1.4(1) STUDENT PANEL MODULE
In this module, admin can check the profile of any particular students or he can
filter students according to their name and course. This module provides all the
details related to the students to the admin.
24
Fee Int 11 Exam fee of the
students
Course_code Varchar 12 Unique code of
each course
Course_name Varchar 100 Name of the course
Department_id Int 11 Unique department
id of each
department
Department_code Varchar 12 Code of the
department
Department_name Varchar 100 Name of the
department
School_id Int 11 Unique id for
school
User_id Int 11 Unique id for each
user
Total_fee Int 11 sum of applied
back paper fee
Admitcard_status Tinyint 4
Program_id Int 11 Unique id of each
program
Prog_semester Tinyint 4
Created_at Datetime Tells about the
date and time of
creation
Exam_date Date Date of back exam
Start_admitcard_date Date Releasing date of
admit card to
download
End_admitcard_date Date Last date of admit
card to download
Start_application_date Date Application form
opening date
End_application_date Date Application form
closing date
Application_status Tinyint 2 Tells about
application status
Id Int 11 Notification id
Text Varchar 300 Text length of
notification
Psc_id Int 11 Program structure
credit id
Semester Int 11 Particular semester
Credit Int 3 Credit of particular
subject
Lecture Tinyint 3 Total number of
25
lecture in a
particular subject
Tutorial Tinyint 3 Total number of
tutorial in a
particular subject
Practical Tinyint 3 Total number of
practical in a
particular subject
Project Tinyint 3 Number of project
in particular course
Program_code Text Code of the
program
Program_name Varchar 50 Name of the
program
No_of_semester Int 11 Total number of
semester
Fee_per_semester Decimal 7,2 Fee of the semester
Add_date Date Date Date of apply
School_code Varchar 12 Unique Code of
school
School_name Varchar 100 Name of the school
Student_id Int 11 Unique id of
student
User_id Int 10 Id of the user
Updated_at Datetime Date of updation
Teacher_id Int 11 Unique id of
teacher
Name Varchar 100 Name of the
teacher
Password Varchar 100 Specific password
Salt Varchar 10 Used for
encryption
User_type Tiny_int 3 Type of the user
Last_login Datetime Last date and time
of login
Last_password_change Datetime Last date and time
of change
password
First_name Varchar 32 First name
Last_name Varchar 32 Last name
Contact_no Varchar 13 Contact number
Type Smallint 4 Whether student or
admin
Username Varchar 20 Name of the user
Email_id Varchar 191 Email id of the
26
user
Image Varchar 191 Image of the user
Last_login Datetime Last date and time
of login
27
Table 1.2: Departments Table
28
• program_id : foreign key.
• exam_id, program_id, prog_semester : composite key
29
Table 1.7: Notifications Table
30
Table 2.0: Student Table
31
4.3 Use Case Diagram
Sometimes we need to know what a system does, but don’t want to get into all the detail.
When we’re in a situation like this, a use case diagram could be just what we need.
32
4.4 CLASS DIAGRAM
33
CHAPTER 5
SYSTEM
IMPLEMENTATION
34
5. SYSTEM IMPLEMENTATION
This project is based on object-oriented programming system (OOPS) concept. Procedural
programming is about writing procedures or functions that perform operations on the data,
while Object-oriented programming is about creating objects that contains both data and
functions and we used this methodology in our system because it is faster and easier to
execute as compare to procedural programming. We have used database in our project to
store the data of the project. Here we are following bottom-up approach to build this
system.
In this approach, we have done our work from the most basic level of problem solving to
achieve the required results. The most fundamental units, modules and sub-modules are
designed and solved individually. These units are than integrated together to get a more
concrete base to problem solving. This bottom-up approach works in different phases. Each
module designed is tested at fundamental level that means unit testing is done before the
integration of the individual modules to get solution.
5.2 ADVANTAGES
• OOP is faster and easier to execute.
• OOP helps to keep the PHP code DRY "Don't Repeat Yourself", and makes the
code easier to maintain, modify and debug.
• It makes it possible to create more complicated behavior with less code and shorter
development time and high degree of reusability.
35
CHAPTER 6
SYSTEM TESTING
36
6. SYSTEM TESTING
Testing is process of evaluating system and its sub modules with intent to find that whether
it satisfies the requirement or not. It is used to identify errors and bugs. Testing is never
ending process no one can say that software is 100% tested. We have done testing from
starting phase of development i.e. from the time of information gathering.
Boundary value analysis is one of the widely used case design technique for black box
testing. It is used to test boundary values because the input values near the boundary have
higher chances of error. Whenever we do the testing by boundary value analysis, the tester
focuses on, while entering boundary value whether the software is producing correct output
or not. Boundary values are those that contain the upper and lower limit of a variable.
It is a type of software testing that validates the software system against the functional
requirements/specifications. The purpose of Functional tests is to test each function of the
software application, by providing appropriate input, verifying the output against the
Functional requirements. Functional testing mainly involves black box testing and it is not
concerned about the source code of the application. This testing checks User Interface,
APIs, Database, Security, Client/Server communication and other functionality of the
Application Under Test. The testing can be done either manually or using automation.
The prime objective of Functional testing is checking the functionalities of the software
system. It mainly concentrates on -
38
CHAPTER 7
SYSTEM LIMITATIONS
39
7. SYSTEM LIMITATIONS
• Back Paper Management System needs to be taught to the admin in order to get
maximum output from this application.
• After getting admit card, students have to visit their college to verify his admit card
through HoD.
• Back Paper Management System is not a fully automated system, it needs some
manpower ofcourse less than the prior system.
40
CHAPTER 8
CONCLUSION AND
FUTURE
ENHANCEMENT
41
8. CONCLUSION AND FUTURE ENHANCEMENT
8.1 CONCLUSION
Today, when students get back in any subject than they have to apply for back exams to
improve their result, but most of the universities in India provides these form offline.
Students have to take this form from the university form counter and after filling it, they
have to submit it with the required fee of that form to the respective fee counter. Once form
filling process is done, they have to regularly check the notice board for exams date and
also ask for admit card to the university staff. This process is very hectic for students
because they have pressure to score good marks this time and clear their back. This time
they have to study hard but these manual forms filling process wasted the important time of
students. After this proposed system, these problems will be solved and it can be used in
any university.
42
REFERENCES
43
REFERENCES
• http://php.net/manual/en/intro-whatis.php
• https://www.w3schools.com/sql/default.asp
• https://www.w3schools.com/jquery/default.asp
• https://www.w3schools.com/js/js_ajax_intro.asp
• https://www.w3schools.com/bootstrap/default.asp
44
APPENDIX
45
A. SCREEN SHOT
46
Fig.-A1.1 REGISTRATION FORM
47
Fig.-A1.2 LOGIN PAGE
48
Fig.-A1.3 UPLOAD_PHOTO
49
Fig.-A1.4 STUDENT_DASHBOARD
50
Fig.-A1.5 APPLY FOR EXAMS
51
Fig.-A1.6 ADMIT CARD
52
Fig.-A1.7 STUDENT PROFILE
53
Fig.-A1.8 NOTIFICATION ACTION
54
Fig.-A1.9 STUDENTS LIST
55
Fig.-A2.0 ADD PROGRAM
56
B. SOURCE CODE
#LOGIN
public function login($username, $password) {
$user_query = $this->db->query($sql);
if ($user_query->num_rows) {
$_SESSION['user_id']=$user_query->row['user_id'];
$_SESSION['username']=$user_query->row['username'];
if(empty($user_query->row['image'])&&($user_query->row['type']
== '2222')){
header('location: user_photo_upload.php');
exit;
$_SESSION['first_name']= $user_query->row['first_name'];
$_SESSION['last_name']= $user_query->row['last_name'];
$_SESSION['type']= $user_query->row['type'];
$_SESSION['image']= $user_query->row['image'];
$_SESSION['last_login']= $user_query->row['last_login'];
$_SESSION['is_login']= true;
57
//Update User IP & login date
$this->db->query($sql);
return true;
} else {
return false;
58
#STUDENT REGISTRATION FRAGMENT
<?php
require_once("common/error.php");
require_once('class/class.inc.php');
$sqli_query->isLogOut();
//$sqli_query->isAdmin();
if(!empty($_POST)){
$username = $_POST['username'];
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$contact_no = $_POST['contact_no'];
$email = $_POST['email'];
$program_id = $_POST['program_id'];
$password = $_POST['password'];
$confirm_password = $_POST['confirm_password'];
if (empty($username)) {
59
}
if (empty($first_name)) {
if (empty($last_name)) {
60
if(strcmp($password, $confirm_password)){
$student_id = $sqli_query->addUser($_POST);
if($student_id){
$_SESSION['register_success'] = true;
header("Location: register_success.php");
//header("Location: student_photo_upload.php?of=".$sqli_query-
>addUser($_POST));
exit;
$programs = $sqli_query->getAllPrograms();
61
#CHANGE PASSWORD
<?php
require_once("common/error.php");
require_once('class/class.inc.php');
//$sqli_query->isLogIn();
if(!empty($_POST)){
$current_password = $_POST['current_password'];
$conf_password = $_POST['conf_password'];
$new_password = $_POST['new_password'];
if(empty($current_password)){
}else if(!$sqli_query->isCurrentPassword($current_password)){
}else if(empty($new_password)){
62
}else{
if($data=$sqli_query->changePassword($new_password));
$_SESSION['success'] = 1;
header("Location: success.php");
exit;
63
#NOTIFICATION FRAGMENT
public function createNotification($data) {
$result = $this->db->query($sql);
if($result){
return true;
}else{
return false;
64
#EXAM SCHEDULE FRAGMENT
public function getAllExamsByYear($year) {
$query = $this->db->query($sql);
return $query->rows;
$exam = $this->db->query($sql);
if($exam->rows){
if($exam_structure = $this->db->query($sql)){
$ar = $exam_structure->rows;
$n = array();
foreach($ar as $a){
if(!array_key_exists($a['program_id'],$n)){
$n[$a['program_id']][0] = array();
if($program = $this->db->query($sql)){
$program = $program->row;
65
$n[$a['program_id']]['program_id'] =
$program['program_id'];
$n[$a['program_id']]['program_name'] =
$program['program_name'];
$n[$a['program_id']]['program_code'] =
$program['program_code'];
$n[$a['program_id']]['no_of_semester'] =
$program['no_of_semester'];
foreach($ar as $a){
array_push($n[$a['program_id']][0],$a['prog_semester']);
$n['exam_create_details'] = array();
$n['exam_create_details']['exam_date'] = $exam-
>row['exam_date'];
$n['exam_create_details']['created_at'] = $exam-
>row['created_at'];
$n['exam_create_details']['exam_id'] = $exam_id;
$n['exam_create_details']['start_admitcard_date'] = $exam-
>row['start_admitcard_date'];
$n['exam_create_details']['end_admitcard_date'] = $exam-
>row['end_admitcard_date'];
return $n;
}else{
return false;
66
}
67
#STUDENT LIST FRAGMENT
<?php
require_once("common/error.php");
require_once('class/class.inc.php');
$sqli_query->isLogIn();
$sqli_query->isAdmin();
if(!empty($_POST)){
$first_name = $_POST['first_name'];
$program_id = $_POST['program_id'];
}else{
$results = $sqli_query->searchStudentsByDetaile($_POST);
}else{
$results = $sqli_query->getAllStudents();
68
$programs = $sqli_query->getAllPrograms();
69
#PHOTO UPLOAD FRAGMENT
<?php
require_once("common/error.php");
require_once('class/class.inc.php');
if(!isset($_SESSION['user_id'])){
exit;
if(!empty($_POST)){
$user_id = $_SESSION['user_id'];
$username = $_SESSION['username'];
$image = basename($_FILES["image"]["name"]);
$extension = pathinfo($image,PATHINFO_EXTENSION);
if (empty($image)) {
70
}elseif ( !(( $extension == "png") || ($extension == "jpg") || ($extension == "jpeg")))
{
if(!(isset($error_image))) {
$target_path = "images/users/";
$image_filename = $user_id.time().".".$extension;
$newfilename = $target_path.$image_filename;
if(move_uploaded_file($_FILES["image"]["tmp_name"], $newfilename)){
$sqli_query->updateUserImage($image_filename);
unset($_SESSION);
session_destroy();
exit;
}else{
71
$title = $heading = "User photo upload";
unset($_SESSION['teacher_id']);
unset($_SESSION['user_id']);
unset($_SESSION['name']);
unset($_SESSION['type']);
unset($_SESSION['last_login']);
session_destroy();
} logout code
72