Вы находитесь на странице: 1из 94

FEEDBACK MANAGEMENT SYSTEM

PROJECT REPORT

SUMMITTED BY

NAME: REG NO:

in partial fulfillment for the award of the degree

of

MASTER OF COMPUTER APPLICATION

INTRODUCTION:

We have developed “Feedback Management System” to provide feedback in an easy and


quick manner to the principal. So we call it as Faculty Feedback System which delivers via
student staff interface as online system which acting as service provider.

By using this technology we can provide fast feedback about the college lecturers by student on
time to the head of department’s as they referred in online system.
This project has three kinds of module student, staff, admin.The student can give feedback to their
respective lecturers. This feedback report is checked by their head of Department. He can view
grade obtained by the lecturers and give this report to the principal for further counselling to the
college staff.

CHAPTER 1

1.1 AIM

Aim is to provide fast and quick online feedback about the college lecturers by the student on
time at anywhere from anyplace by just login from their valid account.

1.2 OBJECTIVE

The main objective was to create a unique and useful “Feedback Management System” with
exception quality and service that differentiates it from other feedback form.

1.3 SCOPE OF THE PROJECT

The scope of Student Feedback portal is follows:

• The Student Feedback portal provides an easier and quicker way to give rating to the college
staffs.

• Student can rate their faculty according to their teaching style, knowledge, discipline and
punctuality at any time from any place.
• Through this site data of faculty members and student were managed in quite a simple manner.

CHAPTER 2

2.1 PROJECT OVERVIEW

“Feedback Management System” This system is generally used by three kind of users
Students, Faculty, Admin. This application should evaluate the answer given by students based
on the feedback and grade has to be generated to all the staff members of a particular subjects.
These feedback report was checked by the principal. He can give overall grades and view the
grades obtained to the lecturers and the principal can give counseling to the college staff.

“By using the online system we make it better and quick way”.

2.2 EXISTING SYSTEM

Coming to the existing system the feedback is done by manual process . In the existing system
students can give feedback about the lecturers by using the pen and pens. After giving feedback
by every student Papers are collected by the Admin’s and calculate overall grad for each lecturer.
After that those all grade report is viewed by the principal which is given by the admin’s.
Hence estimating the performance of lecturers and giving counseling to college staff. So, the
existing system is carries more time to do a piece of work for this reason. The online syatem
feedback is implemented. This is the major advantage of the existing system for giving feedback
about the Lecturers and viewing report of lecturer.

2.3 PROPOSED SYSTEM

Here we aimed to design online web application for issuing the feedback about the
lecturer by sttudents, this is named as Feedback management system. Feedback management
System to provide feedback in a easy and quick manner to the college lecturers and Admin’s. So
we call it as Feedback Management System which delivers via the student staff interface as
online system which acting as a service provider bby using this technology we can make fast
feedback about the lecturers.
These feedback reports were checked by the Hod’s. He can view overall grades and view the
grades obtained to the lecturers and give this report to the prinicipal and he can give counseling
to the college staffs compared to the manual system, online system is very simple to use and also
understand.

CHAPTER 3

MODULES

This system included three modules which were described in details.

• Admin module

• Student module

• Faculty module

The core functionalities that are to be included in the system are the follows

3.1 ADMIN MODULE:

• Can insert/update/delete/new student(But, not feedback).

• Can create/insert/update/delete/new staff member.

• View the final feedback report.

• Submit feedback result to the Principal.


The Admin should be able to log in to the application. The login information will be stored on
the system.

3.2 STUDENT MODUL

• Can create/update/delete their account.

• Give feedback their respective department staff members.

3.3 FACULTY MODULE

• Can view their only own comments/message and Rating Criteria given by students.

• Can view total evaluated feedback.

RATING CRITERIA FOR STAFFS

• Punctuality

• Regularity

• Staff come well prepared for the class

• Class control

• Sound subject knowledge

• Communication Skill

• Student Interaction

• Encage the class for the entire 50 minutes

• Time to spent on irrelevant or general matters

• Syllabus compilation

• Correction of test paper

• Partial in Awarding marks & making remarks

• Punishing and threatening the student unreasonably


• Inspiring & Motivating

• Prefer the same teacher to teach in the next semester

• Prefer the same teacher to teach in the next semester

CHAPTER 4

4.1 SOFTWARE DESCRIPTION

4.1.1 PROJECT DESIGN:

Software design is an interactive process through which requirements are translated into a
‘Blue Print’ for constructing the software. The design is represented at high level of abstraction,
a level that can be directly translated to specific data, functional and behavioral requirements..
Preliminary design is concerned with the transformation of requirements into data and software
architecture. Detained design focuses on refinements to the architectural representation that lead
to detailed data structure and algorithemic representation for software.

4.1.2 SYSTEM SPECIFICATION:

A System Requirements Specification (SRS) (also known as a Software Requirements


Specification) is a document or set of documentation that describes the features and behavior of a
system or software application. It includes a variety of elements (see below) that attempts to
define the intended functionality required by the customer to satisfy their different users.

Whenever you purchase software or hardware for your computer, you should first make sure
your computer supports the system requirements. These are the necessary specifications your
computer must have in order to use the software or hardware.
CHAPTER 5

PROJECT DETAILS:

5.1 HARDWARE SPECIFICATION

Processor: Dual core

RAM: 1 GB

ROM: 2 GB

5.2 SOFTWARE SPECIFICATION

Technologis: HTML, CSS

Database: MySql

Language: PHP version(7.2).

Framework: Laraval

5.3 KEY NOTES

OVERVIEW OF PHP

PHP is an embedded scripting language that is excellent for creating dynamic web sites
based on database content or different characteristics of browsers. It is available when you have a
department(Web Central) publishing account, a faculty publishing account, a student
organization publishing account or if It can Notable PHP compilers include the following the
most popular implementation. Several compilers have been developed.
The PHP language was originally implemented as an interpreter, and this is still the most popular
implementation. Several compilers have been developed which decouple the PHP language from
the interpreter.

PHP stands for Hypertext Preprocessor. It is a server-side scripting language, like ASP. Also, the
PHP scripts are executed on the server. It supports many databases (MYSQL, Informix, Oracle,
Sybase, Solid, Postures SQL, and Generic ODBC), PHP is open source software and it is free to
download and use.

PHP FILE

• PHP file can contain text, HTML tags and scripts

• PHP files are returned to the browser as plain HTML

• PHP files have a file extension of “.php”,”.html”.

PHP combined with MySQLI are cross-platform (You can develop in windows and serve on a
UNIX platform) Advantages of compilation include better execution speed, static analysis, and
improved interoperability with code written in other languages.

USES OF PHP

PHP is an intuitive, server side scripting language. Like any other scripting language it
allows developers to build into the creation of web page content and handle data returned from a
web browser. PHP also contains a number of extensions that make it easy to interactive database,
extracting data to be displayed on a web page and storing information entered by a web site
visitor back into the database.

PHP consists of a scripting language and an interpreter. Like other scripting languages, PHP
enables web developers to define the behavior and logic they need in a web page. The scripts are
embedded into HTML documents that are served by the web server. The interpreter takes the
form of a module that integrates into the web server, converting the scripts into commands the
computer then executes to achieve the result defined in the web developer.
OBJECTIVES OF PHP

To develop an understanding of how PHP works it is helpful to first explore what


happens when a webpage is served to a user’s browser. When a user visits a web site or clicks on
a link on a page the browser sends a request to the web server hosting the site asking for a copy
of web page.

Now let’s consider what kind of web page content a web browser understands. These days a web
page is likely to consist of HTML< XHTML and JavaScript. The web browser contains code that
tells it what to do with these types of content.

A web browser, however, knows absolutely nothing about any PHP script that may be
embedded in an HTML document. The web server receives the request, finds the corresponding
web page file on the system and sends it back, over the internet, to the user’s browser.

Typically the webpage file system and sends it back, over the internet. If a browser was served a
web page containing PHP it would not know how to interpret that code newer. The most
common way of installing PHP is compiling it from the source code. When Php is installed and
used in cloud environments.

COMPONENTS OF PHP

In terms of web page content we have two extremes. At one extreme have to HTML
which is completely static. There is very little that can be done with HTML to create dynamic
content in a web page .At the other extreme we have scripting languages like java script provides
a powerful mechanism for creating interactive and dynamic web pages.

When talking about JavaScript it is important to understand that it is, by design, a client side
scripting language. By this we mean that the script gets executed inside the user’s browser and
not on the web server on which the web page originated.

While this is fine for many situations it is often the case that by the time a script reaches the
browser it is then either too late, or in efficient, to do what is needed. Prime example of this
involves displaying a web page which contains some data from database table.
Since the database resides on a server (either the same physical server which runs the web server
or on the same network as the web server connected by a high speed fiber network connection) it
makes sense for any script that needs to extract data from the database to be executed on the
server, rather than waiting until it reaches the browser.

It is for this kind of task that PHP is perfectly suited. It also fast and efficient because the script
is executed on the server it gets to take advantage of multi-processing, large scale memory and
other such enterprise level hardware features.

In addition to the advantages of being a server side scripting language PHP is very easy to learn
and use. The fact that PHP works seamlessly with HTML makes it accessible to a broad
community of web designers. These scripts can also used for simple text processing tasks.
Perhaps one of the most significant advantages of PHP to some is the ease with which it interacts
with the MySQLI database and store data. The web server receives the request, finds the
corresponding web page file on the system and sends it back, over the internet, to the user’s
browser.

SCRIPTING OF PHP5

An application programming interface or API defines the classes, methods, functions and
variables that your application will need to call in order to carry out its desire task. In the case of
PHP applications that need to communicate with databases the necessary APIs are usually
exposed via PHP extensions.

APIs can be procedural or object-oriented with a procedural API you call functions to carry out
tasks, with the object-oriented API you instantiate classes and then call methods on the resulting
objects. Of the two the latter is usually the preferred interface, as it is more modern and leads to
better organized code.

When writing PHP applications that need to connect to MySQLI server there are several API
options available. This document discussed what is available and how to select the best solution
for your application.
SERVER –SIDE SCRIPTING

This is the most traditional and main target fields for PHP. Hey need for three things to
make this work.PHP parser a web server and a web browser. They need to run the web server,
with a connected PHP installation. They can access the PHP program with a web browser,
viewing the PHP page through the server. All these can run on your home machine if your are
just experimenting with PHP programming.

COMMAND LINE SCRIPTING

In this project can make a PHP script to run it without any server or browser. They only
need the PHP parse to use it this way. This type of usage is ideal for scripts regularly executed
using crone or task scheduler.

WRITING DESKTOP APPLICATIONS

PHP is probably not the best language to create a desktop application with graphical user
interface, but they know PHP very well, and would like to use some advanced PHP features in
your client-side applications.

They also have to write cross platform applications this way. PGP_GTK is an extension to PHP,
not available in the admin distribution. They are also having a DBX database abstraction
extension allowing you to transparently use any database supported by that extension. Additional
php supports ODBC, the open database connection standard, so you can connect to any other
database supporting this world standard.

CONNECTOR
In the MySQLI documentation, the term connector refers to a piece of software that
allows application to connect to the MySQLI database server. MySQLI provides connectors for a
variety of languages, including PHP.

In PHP application needs to communicate with a database server will need to write PHP code to
perform such activities as connecting to the database server, querying the database and other
database related functions.

Software is required to provide the API that PHP application will use and also handle the
communication between application and the database server, possible using other intermediate
libraries where necessary. This software is known generically as a connector, as it allows
application to connector a database server.

CHARACTERISTICS:-

• Allow building templates to ease site maintenance

• Server different content to users based on their browser, IP address, date and

time, numerous other characteristics.

• Enables connection with database such as MySQLI.

• Build discussion forums or web based email programs.

FEATURES OF PHP

In this started out with the intention of MySQLI to connect to our tables using our own
fast low level routines. However, after some testing we came to the conclusion that MySQLI was
neither fast enough nor for needs.

This resulted in a new SQL interface to our database but with almost the same API interface as
MySQLI. This API was chosen to ease porting of third-party code. The derivation of the name
MySQLI is not clear. Our base directory and a large interface of our tools have had the prefix
“my” for well over 10 years.
The following list describes some of the important characteristics of the MySQLI database
software. Allows you to build templates to ease site maintenance, enables connection content
with database such as MySQLI, Build discussion forums or web-based email programs and read
and process XML, MySQLI, the most popular Open source SQLI database management system,
is developed, distributed and supported by Oracle Corporation

• MySQLI is a database server.

• MySQLI is ideal for both small and large applications.

• MySQLI supports standard SQL.

• MySQLI compiles on a number of platforms.

• MySQLI is free to download and use.

The MySQLI server provides a database management system with query in and connectivity
capabilities, as well as the ability to have excellent data structure and integration with many
different platforms. It can handle large database reliability and quickly in high demanding
production environment. It invented JavaScript and JavaScript was first used in nets cape
browsers. Information from one invocation to another of the application, or perform file
manipulations on a server. The MySQLI server also provides rich function such as its
connectivity, speed, and security that make it suitable for accessing databases.

5.2 HYPERTEXT MARKUP LANGUAGE (HTML)

HTML is an application of the Standard Generalized Markup Language (SGML), which


was approved as an international in the year 1986. SGML provides a way to encode hyper
documents so they can be interchanged.

SGML is also a Meta language for formally describing document markup system. In fact HTML
uses SGNL to define a language that describes a WWW hyper document’s structure and inter
connectivity. Following the rigors of SGML, TBL bore HTML to the world in 1990. It does not
show any compilation errors and also it will be highly executed through the browser. It is the set
of markup symbols or codes inserted in a file intended for display on World Wide Web browser
page.

5.3 INTRODUCTION TO LARAVAL:

Laravel is a web application framework with expressive, elegant syntax. We believe


development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to
take the pain out of development by easing common tasks used in the majority of web projects,
such as authentication, routing, sessions, and caching.

Laravel aims to make the development process a pleasing one for the developer without
sacrificing application functionality. Happy developers make the best code. To this end, we've
attempted to combine the very best of what we have seen in other web frameworks, including
frameworks implemented in other languages, such as Ruby on Rails, ASP.NET MVC, and
Sinatra.

Laravel is accessible, yet powerful, providing powerful tools needed for large, robust
applications. A superb inversion of control container, expressive migration system, and tightly
integrated unit testing support give you the tools you need to build any application with which
you are tasked.

ADVANTAGES OF LARAVAL:-

Laravel offers you the following advantages, when you are designing a web application
based on it −

• The web application becomes more scalable, owing to the Laravel framework.

• Considerable time is saved in designing the web application, since Laravel reuses the
components from other framework in develop web application.

• It includes namespaces and interfaces, thus helps to organize and manage resources.
COMPOSER:-
Composer is a tool which includes all the dependencies and libraries. It allows a user to
create a project with respect to the mentioned framework (for example, those used in Laravel
installation). Third party libraries can be installed easily with help of composer.

All the dependencies are noted in composer.json file which is placed in the source folder.

FEATURES OF LARAVAL:-

Laravel offers the following key features which makes it an ideal choice for designing
web applications −

MODULARITY:-

Laravel provides 20 built in libraries and modules which helps in enhancement of the
application. Every module is integrated with Composer dependency manager which eases
updates.

TESTBILITY:-

Laravel includes features and helpers which helps in testing through various test cases.
This feature helps in maintaining the code as per the requirements.

ROUTING:-

Laravel provides a flexible approach to the user to define routes in the web application.
Routing helps to scale the application in a better way and increases its performance.

CONFIGURATION MANAGEMENT:-

A web application designed in Laravel will berunning on different environments, which


means that there will be a constant change in its configuration. Laravel provides a consistent
approach to handle the configuration in an efficient way.
QUERY BUILDER AND ORM:-

Laravel incorporates a query builder which helps in querying databases using various
simple chain methods. It provides ORM (Object Relational Mapper) and Active
Record implementation called Eloquent.

SCHEMA BUILDER:-

Schema Builder maintains the database definitions and schema in PHP code. It also
maintains a track of changes with respeto database migrations.

TEMPLATE ENGINE:-

Laravel uses the Blade Template engine, a lightweight template language used to
design hierarchical blocks and layouts with predefined blocks that include dynamic content.

E-MAIL:-

Laravel includes a mail class which helps in sending mail with rich content and
attachments from the web application.

AUTHENTICATION:-

User authentication is a common feature in web applications. Laravel eases designing


authentication as it includes features such as register, forgot password and send password
reminders.

REDIS:-

Laravel uses Redis to connect to an existing session and general-purpose cache. Redis
interacts with session directly.

QUEUES:-

Laravel includes queue services like emailing large number of users or a


specified Cron job. These queues help in completing tasks in an easier manner without waiting
for the previous task to be completed.
EVENT AND COMMAND BUS:-

Laravel 5.1 includes Command Bus which helps in executing commands and dispatch
events in a simple way. The commands in Laravel act as per the application’s lifecycle.

5.4 JAVE SCRIPT

JavaScript is a cross-platform, object-oriented scripting language. JavaScript is a small,


lightweight language, it is not useful as a standalone language, but is designed for easy
embedding in other products and applications, such as web browsers. Inside a host environment,
java script can be connected to the objects of its environment to provide programmatic control
over them.

Core database contains a core set of objects, such as Arrays, Date and Month, and a core set of
language elements such as operators, control structures and statements. Core JavaScript can be
extended for a variety of purpose by supplementing it with additional objects.

Client-side JavaScript extends the core language by supplying objects to control a browser
Navigation or another web browser and it’s Document Object Model (DOM).

For example, client-side extension allow an application to place elements on an HTML form and
responds to user events such as mouse clicks, form input, and page navigation.

Server-side JavaScript extends the core language by supplying objects relevant to running
JavaScript on a server. For example, server-side extensions allow an application to communicate
with a relational database, provide community and perform file manipulations on a server.

Through JavaScript’s live connect functionality, let java and JavaScript code communicates with
each other. Since then, many of sites have it to be easy to use but something quite limiting. These
limiting factors being addressed but the World Wide Web Consortium at MIT. But HTML had to
start somewhere, and its success argues that it did not start out too badly.

Form JavaScript, initiate java objects and access JavaScript objects, properties and methods.
Netscape invented JavaScript was first used in Netscape browser. Server will need to write PHP
code to perform such activities as connecting to the database server, querying the database and
other database related functions.

PHP is probably not the best language to create a desktop application with a graphical user
interface, but they know PHP very well, and would like to use some advanced PHP feature’s in
your client-side applications you can also use PHP to write such programs.

It handles the communication between your application and the database server, possibly using
other intermediate libraries where necessary. This software is known generically as a connector,
as it allows your application to connect to a database server.

5.4 MYSQLI

The MySQLI pluggable storage engine architecture enables a database professional to


select a specialized storage engine for a particular application need.

While being completely shielded from the need to manage any specific application coding
requirements. Software is required to provide the MySQLI that your application.

It handles the communication between your application and the database server, possibly using
other intermediate libraries where necessary. This software i known generically as a connector,
as it allow your application to connect to a database server.

The MySQLI server architecture isolates the application programmer and DBA from all the low-
level implementation details at the storage level, providing a consistent and easy application
model and API.

The MySQLI website provides the latest information about MySQLI software and ySQLI AB.
Thus, although there are different capabilities across different storage engines, the application is
shielded from this difference.

The application programmer and DBA interact with the MySQLI database through connector
APIs and service layers that are above the storage engines be added to support new needs, no
significant coding or process changes are required to make things work. The MySQLI website
provides the latest information about MySQLI software and MySQLI AB.

MYSQLI IS A DATABASE MANAGEMENT SYSTEM

A database is a structure collection of data. It may be anything from a simple shopping


list to a picture gallery or the vast amounts of information in a corporate network. To add, access
and process data stored in a computer database, they need a database management system such
as MySQLI server. The MySQLI server architecture isolates the application programmer and
DBA from all the low-level implementation details at the level, providing a constant and easy
application model and API.

5.4 HYPERTEXT MARKUP LANGUAGE

HTML is an application of the Standard Generalized Markup Language (SGML), which


was approved as an international in the year 1986. SGML provides a way to encode hyper
documents so they can be interchanged.

SGML is also a Meta language for formally describing document markup system. In fact HTML
uses SGNL to define a language that describes a WWW hyper document’s structure and inter
connectivity. Following the rigors of SGML, TBL bore HTML to the world in 1990. It does not
show any compilation errors and also it will be highly executed through the browser. It is the set
of markup symbols or codes inserted in a file intended for display on World Wide Web browser
page.

CHAPTER 6

6.1 SYSTEM CONSTRAINTS


USER INTERFACE CONSTRAINTS:-

Using this portal is fairly simple and intuitive. A user familiar with basic browser
navigation skills should be able to understand all fuctionality provided by the portal.

HARDWARE CONSTRAINTS:-

The portal shouls work on most home desktop and laptop computers.

SOFTWARE CONSTRAINTS:-

The portal is designed to run on google Chrome, Mozilla Firefox and Internet Explorer 10

6.2 DESIGN STANDARDS COMPLIANCE

The portal shall be implemented in PHP

CHAPTER 7

7.1 SNAPSHOTS
HOMEPAGE:-

STUDENT REGISTRATION:-
FACULTY REGISTRATION:-
STUDENT PANEL:-

FEEDBACK FORM:-
FACULTY PANEL:-
FEEDBACK RESULT INDIVIDUAL:-
ADMIN PANEL:-
CHAPTER 8

TESTING

8.1 SOFTWARE TESTING

Software testing is a critical element of software quality assurance and represents the
ultimate reuse of specification. Design and code testing represents interesting anomly for the
software during earlier definition and developement pahse, it was attempted to build software
form an abstract concept to tangible implementation.

The testing phase involves, testing of the developement of the system using various techniques
such as White Box Testing Control Structure Testing.

8.2 TESTING TECHNIQUES

WHITE BOX TESTING

White box testing is a test case design method that uses the control structure of the procedural
design to derive test cases. After performing white box testing it was identified that:

• The Leave Recording System (LRS) software guarantees that all independent paths within the
modules have been excercised at least once.

• It has been exercised all logical decisions their true and false sides.

• It was tested to execute all loops at their boundaries and within their Operational bounds

• It was tested for the internal data structures to ensure their validity.
CONTROL STRUCTURE TESTING

The following tests were conducted and it was noted that the BCBS is

• Basic path Testing

• Condition Test

• Data Flow Testing

• Loop Testing

Black box testing methods focuses on the fuctional requirements of the software by
conducting black box testingusing the method equivalences.

Partitionaing Boundry Values Analysis and Cause-Effect-Graphing techniques.

• Functional validity of LRS checked.

• Checked the isolation of the boundaries of a class.

The tolerance of the system for the data rates and data volumes.

8.3 TESTING STRATIGIES

A strategy for software testing must accommodate low-level tests that are necessary to
verify that a small source code segment has been correctly implemented as well as high level
against customer requirements.

8.3.1 UNIT TESTING:

Unit tesitng focuses verification on the smaller unit of software design such as form. This
is known as form testing. The testing is done individually on each form. Using the unit test plan,
prepared in design phase of the system developement as a guide, important control paths are
tested to uncover within the boundary of the module. In this step, the module is working
satisfactorily as a regard to the expected output from the module.

8.3.2 INTEGRATION TESTING:

Data can be lost across an interface, one module can have an adverse effect on another
sub function, when combined, may not produce the desired major function. Integration testing is
a systematic technique for constructing the program structure while at the same time conducting
tests to uncover errors associated with the interface. All the modules are combined modules are
performed well.

8.3.3 SYSTEM TESTING:

Testing the entire system as a whole and checking for its correctness is system testing.
The system is listed for dispensaries between the system and its original objectives. This project
was effective and efficient.

CONCLUSION:

The project of “Feedback Management System” is designed in order to reduce the


maintaining bulk of records of all student feedback details of who study in an Educational
Institution. Inserting, retrieving and updating the feedback details of a student are easy when it
is compared to the manual feedback and storing. Maintaining the project is also easy which can
is easily understandable. Maintaining the database is manageable.

CODING:
ADMIN CONTROLLER:-

<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\DB;

use App\Http\Controllers\Controller;

Illuminate\Http\Request;

use Auth;

use Session;

use App\User;

use Illuminate\Support\Facades\Hash;

class AdminController extends Controller

//Admin Dashboard

public function dashboard()

//checking the session is created[*]Security

if(Session::has('username'))

}else{

//no session is created redirect to login section


return redirect('adminlogin')->with('flash_message_error','Please Login First');

return view('admin/admindashboard');

public function adminstaff()

if(Session::has('username'))

}else{

//no session is created redirect to login section

return redirect('adminlogin')->with('flash_message_error','Please Login First');

$this->data['admin'] = DB::table('admin')->get();

$this->data['list'] = TRUE;

return view('admin/staff',$this->data);

public function addstaff(Request $request)

if(Session::has('username'))

}else{

//no session is created redirect to login section


return redirect('adminlogin')->with('flash_message_error','Please Login First');

if ($request->isMethod('post')) {

//name

if(isset($request->name )){

$name = $request->name ;

}else{

$request->name = ' ';

$name = $request->name;

//dept

if(isset($request->dept )){

$dept = $request->dept;

}else{

$request->dept = ' ';

$dept = $request->dept;

//sem

if(isset($request->sem )){

$sem = $request->sem ;
}else{

$request->sem = ' ';

$sem = $request->sem;

//sub

if(isset($request->sub )){

$sub = $request->sub ;

}else{

$request->sub = ' ';

$sub = $request->sub;

//scode

if(isset($request->scode )){

$scode = $request->scode ;

}else{

$request->scode= ' ';

$scode = $request->scode;

//batch

if(isset($request->batch )){

$batch = $request->batch ;

}else{

$request->batch = ' ';


$batch = $request->batch;

//sem1

if(isset($request->sem1 )){

$sem1 = $request->sem1 ;

}else{

$request->sem1 = ' ';

$sem1 = $request->sem1;

//sub1

if(isset($request->sub1 )){

$sub1 = $request->sub1 ;

}else{

$request->sub1 = ' ';

$sub1 = $request->sub1;

//scode1

if(isset($request->scode1 )){

$scode1 = $request->scode1 ;

}else{

$request->scode1= ' ';


$scode1 = $request->scode1;

//batch1

if(isset($request->batch1 )){

$batch1 = $request->batch1 ;

}else{

$request->batch1 = ' ';

$batch1 = $request->batch1;

//username

if(isset($request->username )){

$username = $request->username ;

}else{

$request->username = ' ';

$username = $request->username;

//password

if(isset($request->password )){

$password = $request->password ;

}else{

$request->password = ' ';

$password = $request->password;

}
DB::table('admin')->insert(

'name' => $name,

'dept' => $dept,

'sem' => $sem,

'sub' => $sub,

'scode' => $scode,

'batch' => $batch,

'sem1' => $sem1,

'sub1' => $sub1,

'scode1' => $scode1,

'batch1' => $batch1,

'username' => $username,

'password' => $password,

);

return redirect('admin/dashboard/staff')->with ('message',' Updated Successfully ');

$this->data['add'] = TRUE;

return view('admin/staff',$this->data);

public function editstaff(Request $request,$id)

{
if(Session::has('username'))

}else{

//no session is created redirect to login section

return redirect('adminlogin')->with('flash_message_error','Please Login First');

if ($request->isMethod('post')) {

//

//name

if(isset($request->name )){

$name = $request->name ;

}else{

$request->name = ' ';

$name = $request->name;

//dept

if(isset($request->dept )){

$dept = $request->dept;

}else{

$request->dept = ' ';

$dept = $request->dept;

}
//sem

if(isset($request->sem )){

$sem = $request->sem ;

}else{

$request->sem = ' ';

$sem = $request->sem;

//sub

if(isset($request->sub )){

$sub = $request->sub ;

}else{

$request->sub = ' ';

$sub = $request->sub;

//scode

if(isset($request->scode )){

$scode = $request->scode ;

}else{

$request->scode= ' ';

$scode = $request->scode;

//batch

if(isset($request->batch )){
$batch = $request->batch ;

}else{

$request->batch = ' ';

$batch = $request->batch;

//sem1

if(isset($request->sem1 )){

$sem1 = $request->sem1 ;

}else{

$request->sem1 = ' ';

$sem1 = $request->sem1;

//sub1

if(isset($request->sub1 )){

$sub1 = $request->sub1 ;

}else{

$request->sub1 = ' ';

$sub1 = $request->sub1;

//scode1

if(isset($request->scode1 )){

$scode1 = $request->scode1 ;
}else{

$request->scode1= ' ';

$scode1 = $request->scode1;

//batch1

if(isset($request->batch1 )){

$batch1 = $request->batch1 ;

}else{

$request->batch1 = ' ';

$batch1 = $request->batch1;

//username

if(isset($request->username )){

$username = $request->username ;

}else{

$request->username = ' ';

$username = $request->username;

//password

if(isset($request->password )){

$password = $request->password ;

}else{

$request->password = ' ';


$password = $request->password;

DB::table('admin')->where('id',$id)

->update([

'name' => $name,

'dept' => $dept,

'sem' => $sem,

'sub' => $sub,

'scode' => $scode,

'batch' => $batch,

'sem1' => $sem1,

'sub1' => $sub1,

'scode1' => $scode1,

'batch1' => $batch1,

'username' => $username,

'password' => $password,

);

return redirect('admin/dashboard/staff')->with ('message',' Updated Successfully ');

}
$this->data['edit'] = TRUE;

$this->data['c'] = DB::select('select *

from admin where id = ?',[$id]);

return view('admin/staff',$this->data);

//deletestaff

public function deletestaff($id){

if(Session::has('username'))

}else{

//no session is created redirect to login section

return redirect('adminlogin')->with('flash_message_error','Please Login First');

DB::delete('delete from admin where id= ?',[$id]);

return redirect('admin/dashboard/staff')->with ('message',' Deleteded Successfully ');

//Admin Dashboard

public function overview()

if(Session::has('username'))

}else{

//no session is created redirect to login section


return redirect('adminlogin')->with('flash_message_error','Please Login First');

$this->data['staffname'] = DB::table('admin')->get();

return view('admin.overview',$this->data);

//ajax section

public function ajaxoverviewsubject(Request $request)

if ($request->isMethod('post'))

$staffname = $request->staffname;

$res = DB::select('select * from admin where name = ?', [$staffname]);

echo "<option value=''>Select Subject</option>";

foreach($res as $result){

echo "<option value='$result->sub'>$result->sub</option>";

foreach($res as $result){

if(strlen($result->sub1) == 0 or strlen($result->sub1) == 1 ){

}else{

echo "<option value='$result->sub1'>$result->sub1</option>";

}
}

//ajax reviews display

public function ajaxreviewed(Request $request){

if ($request->isMethod('post'))

$subject = $request->subject;

$teachername = $request->teachername;

$details = DB::table('admin')->where('name',$teachername)->get();

$subcode = DB::table('admin')->where('sub',$subject)->get();

$subcode1 = DB::table('admin')->where('sub1',$subject)->get();

foreach($subcode as $su){

$Scode = $su->scode;

foreach($subcode1 as $su){

$Scode = $su->scode1;

$feedornot =DB::select(DB::raw("select * from review where staffname =


'$teachername' and sub = '$subject' ") );

$totalnoStudent = DB::table('review')->where('staffname',$teachername)-
>where('sub',$subject)->count();

$Punctualitycount = 0;

$Regularitycount = 0;

$Preparedcount = 0;
$classcontrolcount = 0;

$soundcount = 0;

$comskillcount = 0;

$stuIntercount = 0;

$Engagecount = 0;

$Timecount = 0;

$syllabuscount = 0;

$Correctioncount = 0;

$Partialcount = 0;

$Punishingcount = 0;

$Inspiringcount = 0;

$prefercount = 0;

foreach($feedornot as $feed)

$sem = $feed->sem;

$sub = $feed->sub;

$Punctuality = $feed->Punctuality;

$Punctualitycount = $Punctualitycount + $Punctuality;

$Regularity = $feed->Regularity;

$Regularitycount = $Regularitycount + $Regularity;


$Prepared = $feed->Prepared;

$Preparedcount = $Preparedcount + $Prepared;

$classcontrol = $feed->classcontrol;

$classcontrolcount = $classcontrolcount + $classcontrol;

$sound = $feed->sound;

$soundcount = $soundcount + $sound;

$comskill = $feed->comskill;

$comskillcount = $comskillcount + $comskill;

$stuInter = $feed->stuInter;

$stuIntercount = $stuIntercount + $stuInter;

$Engage = $feed->Engage;

$Engagecount = $Engagecount + $Engage;

$Time = $feed->Time;

$Timecount = $Timecount + $Time;

$syllabus = $feed->syllabus;
$syllabuscount = $syllabuscount + $syllabus;

$Correction = $feed->Correction;

$Correctioncount = $Correctioncount + $Correction;

$Partial = $feed->Partial;

$Partialcount = $Partialcount + $Partial;

$Punishing = $feed->Punishing;

$Punishingcount = $Punishingcount + $Punishing;

$Inspiring = $feed->Inspiring;

$Inspiringcount = $Inspiringcount + $Inspiring;

$prefer = $feed->prefer;

$prefercount = $prefercount + $prefer;

foreach($details as $det ){

$dept = $det->dept;

$batch = $det->batch;

}
echo
$Punctualitycount."|".$Regularitycount."|".$Preparedcount."|".$classcontrolcount."|".$soundcoun
t."|".$stuIntercount."|".$Engagecount."|".$Timecount."|".$syllabuscount."|".$Correctioncount."|".
$Partialcount."|".$Punishingcount."|".$Inspiringcount."|".$prefercount."|".$comskillcount."|"

.$teachername."|".$sem."|".$dept."|".$batch."|".$totalnoStudent."|".$sub."|".$Scode;

INDEX CONTROLLER:

<?php

namespace App\Http\Controllers;

use Illuminate\Foundation\Auth\Access\AuthorizesRequests;

use Illuminate\Foundation\Bus\DispatchesJobs;

use Illuminate\Foundation\Validation\ValidatesRequests;

use Illuminate\Routing\Controller as BaseController;

use DB;

class IndexController extends Controller

// public function Index()

// {

// return view('website/index');
// }

LOGIN CONTROLLER:

<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\DB;

use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

use Auth;

use Session;

use App\User;

use Illuminate\Support\Facades\Hash;

class LoginController extends Controller

//student

public function Registerstudent(Request $request)

//checking if the methos is post

if($request->isMethod('post'))
{

$username = $request->username;

$dept = $request->dept;

$dob = $request->dob;

$reg = $request->reg;

$email = $request->email;

$password = $request->password;

DB::table('student')->insert(

'username' => $username,

'dept' => $dept,

'dob' => $dob,

'reg' => $reg,

'email' => $email,

'password'=> $password

);

return redirect('/')->with ('message',' register Successfully ');

return view('website.studentlogin');

//student login
public function loginstudent(Request $request){

//checking if the methos is post

if($request->isMethod('post'))

$email = $request->email;

$password = $request->password;

//$verf = DB::select('select * from student where email = ?',$email );

$_data = DB::table('student')

->where('email',$email)->get();

foreach( $_data as $v){

$verf = $v->password;

$email = $v->email;

if(isset($verf)){

if($verf == $password)

Session::put('email',$email);

//Session::put('id',$result->id);

return redirect('/student/dashboard');

}else{

return redirect('/');

}else{
return redirect('/');

return view('website.studentlogin');

//destroy the session [ logout ]

public function logoutstudent()

//destroy the Auth session

Session::flush();

return redirect('/')->with('message','Logged Out Success');

/*================== @dev module ============================= */

//staff

public function staff()

return view('website/stafflogin');

//admin

public function admin()

{
return view('website/adminlogin');

public function adminlogin(Request $request)

//checking if the methos is post

if($request->isMethod('post'))

$username = $request->username;

$password = $request->password;

//$verf = DB::select('select * from student where email = ?',$email );

$_data = DB::table('admin_login')

->where('username',$username)->get();

foreach( $_data as $v){

$verf = $v->password;

$username = $v->username;

if(isset($verf)){

if($verf == $password)

Session::put('username',$username);

//Session::put('id',$result->id);

return redirect('admin/dashboard');
}else{

return redirect('adminlogin')->with ('message',' invalid username or password ');

}else{

return redirect('adminlogin')->with ('message',' invalid username and password ');

return view('website.adminlogin');

//destroy the session [ logout ]

public function adminlogout()

//destroy the Auth session

Session::flush();

return redirect('adminlogin')->with('flash_message_success','Logged Out Success');

public function stafflogin(Request $request)

//checking if the methos is post

if($request->isMethod('post'))

$username = $request->username;

$password = $request->password;
//$verf = DB::select('select * from student where email = ?',$email );

$_data = DB::table('admin')

->where('username',$username)->get();

foreach( $_data as $v){

$verf = $v->password;

$username = $v->username;

if(isset($verf)){

if($verf == $password)

Session::put('staffuser',$username);

//Session::put('id',$result->id);

return redirect('staff/overview');

}else{

return redirect('stafflogin')->with ('message',' invalid username or password ');

}else{

return redirect('stafflogin')->with ('message',' invalid username and password ');

return view('website.stafflogin');
}

//destroy the session [ logout ]

public function stafflogout()

//destroy the Auth session

Session::flush();

return redirect('stafflogin')->with('flash_message_success','Logged Out Success');

OVERVIEW CONTROLLER:

<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Auth;
use Session;
use App\User;
use Illuminate\Support\Facades\Hash;
class OverviewController extends Controller
{
//Admin Dashboard
public function overview()
{
$staffname = Session('staffuser');
$this->data['c'] = DB::table('admin')->where('username',$staffname)->get();
$this->data['subject'] = DB::table('admin')->where('username',$staffname)->get();
return view('overview/dashboard',$this->data);
}
}

STUDENT CONTROLLER:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Auth;
use Session;
use App\User;
use Illuminate\Support\Facades\Hash;
class StudentController extends Controller
{
//dashboard
public function Studentdashboard()
{
//checking the session is created[*]Security
if(Session::has('email'))
{
}else{
//no session is created redirect to login section
return redirect('/');
}
$email = Session('email');
$this->data['c'] = DB::select('select *
from student where email = ?',[$email]);
// $this->data['c'] = DB::table('student')->where('email',$email)-get();
$this->data['count'] =DB::table('review')->where('staffname','prasad')-
>where('sub','cs')->count();

$this->data['admin'] = DB::table('admin')->get();
return view('student.Dashboard',$this->data);
}
public function ajaxsubject(Request $request)
{
if ($request->isMethod('post'))
{
$sem = $request->sem;
$res = DB::select('select * from admin where sem = ?', [$sem]);
$res1 = DB::select('select * from admin where sem1 = ?', [$sem]);
echo "<option value=''>Select Subject</option>";
foreach($res as $result){
echo "<option value='$result->sub'>$result->sub</option>";
}
foreach($res1 as $result){
echo "<option value='$result->sub1'>$result->sub1</option>";
}
}
}
public function ajaxTeacherName(Request $request)
{
if ($request->isMethod('post'))
{
$subject = $request->subject;
$reg = $request->reg;
//$feedornot = DB::select('select * from review where reg = ? and sub =
?',[$reg],[$subject]);
$feedornot =DB::select(DB::raw("select * from review where reg = '$reg' and sub =
'$subject' ") );
foreach($feedornot as $feed)
{
$staffname = $feed->staffname;
}
$res = DB::select('select * from admin where sub = ?', [$subject]);
$res2 = DB::select('select * from admin where sub1 = ?', [$subject]);
foreach($res as $result){
$teacherName = $result->name;
}
foreach($res2 as $result){
$teacherName = $result->name;
}
if(isset($staffname)){
if($staffname == $teacherName){
$submit = 'dontsubmit';
}else{
$submit = 'submit';
}
}else{
$submit = 'submit';
}
echo $teacherName."|".$submit;
}
}
//student review submit
public function studentreview(Request $request)
{
//checking if the methos is post
if($request->isMethod('post'))
{
//checking the session is created[*]Security
if(Session::has('email'))
{

}else{
//no session is created redirect to login section
return redirect('/');
}
//Punctuality
if(isset($request->Punctuality )){
$Punctuality = $request->Punctuality ;
}else{
$request->Punctuality = 0;
$Punctuality = $request->Punctuality;
}
//Regularity
if(isset($request->Regularity )){
$Regularity = $request->Regularity ;
}else{
$request->Regularity = 0;
$Regularity = $request->Regularity;
}
//Prepared
if(isset($request->Prepared )){
$Prepared = $request->Prepared ;
}else{
$request->Prepared = 0;
$Prepared = $request->Prepared;
}
//classcontrol
if(isset($request->classcontrol )){
$classcontrol = $request->classcontrol ;
}else{
$request->classcontrol = 0;
$classcontrol = $request->classcontrol;
}
//sound
if(isset($request->sound )){
$sound = $request->sound ;
}else{
$request->sound = 0;
$sound = $request->sound;
}
//comskill
if(isset($request->comskill )){
$comskill = $request->comskill ;
}else{
$request->comskill = 0;
$comskill = $request->comskill;
}
//stuInter
if(isset($request->stuInter )){
$stuInter = $request->stuInter;
}else{
$request->stuInter = 0;
$stuInter = $request->stuInter;
}
//Engage
if(isset($request->Engage )){
$Engage = $request->Engage;
}else{
$request->Engage = 0;
$Engage = $request->Engage;
}

//Time
if(isset($request->Time )){
$Time = $request->Time;
}else{
$request->Time = 0;
$Time = $request->Time;
}
//syllabus
if(isset($request->syllabus )){
$syllabus = $request->syllabus;
}else{
$request->syllabus = 0;
$syllabus = $request->syllabus;
}
//Correction
if(isset($request->Correction )){
$Correction = $request->Correction;
}else{
$request->Correction = 0;
$Correction = $request->Correction;
}

//Partial
if(isset($request->Partial )){
$Partial = $request->Partial;
}else{
$request->Partial = 0;
$Partial = $request->Partial;
}

//Punishing
if(isset($request->Punishing )){
$Punishing = $request->Punishing;
}else{
$request->Punishing = 0;
$Punishing = $request->Punishing;
}

//Inspiring
if(isset($request->Inspiring )){
$Inspiring = $request->Inspiring;
}else{
$request->Inspiring = 0;
$Inspiring = $request->Inspiring;
}
//Prefer
if(isset($request->Prefer )){
$Prefer = $request->Prefer;
}else{
$request->Prefer = 0;
$Prefer= $request->Prefer;
}
//staffname
if(isset($request->staffname )){
$staffname = $request->staffname;
}else{
$request->staffname = 0;
$staffname = $request->staffname;
}
//subject
if(isset($request->subject )){
$subject = $request->subject;
}else{
$request->subject = 0;
$subject = $request->subject;
}
//sem
if(isset($request->sem )){
$sem = $request->sem;
}else{
$request->sem = 0;
$sem = $request->sem;
}
//reg
if(isset($request->reg )){
$reg = $request->reg;
}else{
$request->reg = 0;
$reg = $request->reg;
}
DB::table('review')->insert(
[
'Punctuality' => $Punctuality,
'Regularity' => $Regularity,
'Prepared' => $Prepared,
'classcontrol' => $classcontrol,
'sound' => $sound,
'comskill' => $comskill,
'stuInter' => $stuInter,
'Engage' => $Engage,
'Time' => $Time,
'syllabus' => $syllabus,
'Correction' => $Correction,
'Partial' => $Partial,
'Punishing' => $Punishing,
'Inspiring' => $Inspiring,
'prefer' => $Prefer,
'staffname' => $staffname,
'sub' => $subject,
'sem' => $sem,
'reg' => $reg
]
);
return redirect('/student/dashboard')->with('message','Thanks for your feedback');
}
}
}

ADMIN DASHBOARD.BLADE
@extends('admin.layouts.master')
@section('content')
<!-- end side bar -->
<div class="app-main__outer">
<div class="app-main__inner">
<div class="app-page-title">
<div class="page-title-wrapper">
<div class="page-title-heading">
<div class="page-title-icon">
<i class="pe-7s-car icon-gradient bg-mean-fruit"></i>
</div>
<div>
Welcome To Dashboard
<div class="page-title-subheading">

</div>
</div>
</div>
</div>
</div>
</div> </div>
@endsection

OVERVIEW.BLADE
@extends('admin.layouts.master1')
@section('content')
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
<style>
/****** Style Star Rating Widget *****/
.rating {
border: none;
float: left;
}
.rating > input { display: none; }
.rating > label:before {
margin: 5px;
font-size: 1.25em;
font-family: FontAwesome;
display: inline-block;
content: "\f005";
}
.rating > .half:before {
content: "\f089";
position: absolute;
}
.rating > label {
color: #ddd;
float: right;
}
/***** CSS Magic to Highlight Stars on Hover *****/
.rating > input:checked ~ label, /* show gold star when clicked */
.rating:not(:checked) > label:hover, /* hover current star */
.rating:not(:checked) > label:hover ~ label { color: #FFD700; } /* hover previous stars in list */
.rating > input:checked + label:hover, /* hover current star when changing rating */
.rating > input:checked ~ label:hover,
.rating > label:hover ~ input:checked ~ label, /* lighten current selection */
.rating > input:checked ~ label:hover ~ label { color: #FFED85; }
fieldset, label { margin: 0; padding: 0; }
</style>
<!-- print script -->
<script>
function printDiv(divName) {
var printContents = document.getElementById(divName).innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
</script>
<!-- ajax section -->
<script src="{{ asset('assets/js/jquery.js') }}"></script>
<script>
$(document).ready(function() {
//alert("ok");
$(".staffname").change(function() {
//alert("click");
var staffname = $(this).val();
// alert(sem);
$.ajax({
url: "{{url('')}}/admin/ajaxoverviewsubject",
method: "post",
data: {staffname:staffname,_token:'{{ csrf_token() }}'},
success: function(data){
// alert(data);
$(".subject").html(data);
$(".teachername").val(staffname);
/* var y1=data; */
/* document.writeln(y1);*/
}
})
});
});
$(document).ready(function() {
//alert("ok");
$(".subject").change(function() {
//alert("click");
var subject = $(this).val();
var teachername = document.getElementById('teachername').value;
// alert(sem);
$.ajax({
url: "{{url('')}}/admin/ajaxreviewed",
method: "post",
data: {subject:subject,teachername:teachername,_token:'{{ csrf_token() }}'},
success: function(data){
// alert(data);
var my_arr = data.split("|");
var totalnoStudent= my_arr[19];
var Punctuality = (my_arr[0]/totalnoStudent).toFixed(1);
var Regularity= (my_arr[1]/totalnoStudent).toFixed(1);
var Prepared= (my_arr[2]/totalnoStudent).toFixed(1);
var classcontrol= (my_arr[3]/totalnoStudent).toFixed(1);
var sound= (my_arr[4]/totalnoStudent).toFixed(1);
var stuInter= (my_arr[5]/totalnoStudent).toFixed(1);
var Engage= (my_arr[6]/totalnoStudent).toFixed(1);
var Time= (my_arr[7]/totalnoStudent).toFixed(1);
var syllabus= (my_arr[8]/totalnoStudent).toFixed(1);
var Correction= (my_arr[9]/totalnoStudent).toFixed(1);
var Partial= (my_arr[10]/totalnoStudent).toFixed(1);
var Punishing= (my_arr[11]/totalnoStudent).toFixed(1);
var Inspiring= (my_arr[12]/totalnoStudent).toFixed(1);
var prefer= (my_arr[13]/totalnoStudent).toFixed(1);
var comskill= (my_arr[14]/totalnoStudent).toFixed(1);
var teacher= my_arr[15];
var sem= my_arr[16];
var dept= my_arr[17];
var batch= my_arr[18];
var sub= my_arr[20];
var Scode= my_arr[21];
$(".Punctuality").html(Punctuality);
$(".Regularity").html(Regularity);
$(".Prepared").html(Prepared);
$(".classcontrol").html(classcontrol);
$(".sound").html(sound);
$(".stuInter").html(stuInter);
$(".Engage").html(Engage);
$(".Time").html(Time);
$(".syllabus").html(syllabus);
$(".Correction").html(Correction);
$(".Partial").html(Partial);
$(".Punishing").html(Punishing);
$(".Inspiring").html(Inspiring);
$(".prefer").html(prefer);
$(".comskill").html(comskill);
$(".teacher").html(teacher);
$(".sem").html(sem);
$(".dept").html(dept);
$(".batch").html(batch);
$(".sub").html(sub);
$(".Scode").html(Scode);
$(".totalnoStudent").html(totalnoStudent);
// alert(Punctuality);
/**
* Animated Graph Tutorial for Smashing Magazine
* July 2011
*
* Author: Derek Mack
* derekmack.com
* @derek_mack
*
* Example 3 - Animated Bar Chart via jQuery
*/
// Wait for the DOM to load everything, just to be safe
$(document).ready(function () {
// hide table if js enabled
$('#data-table').addClass('js');
// Create our graph from the data table and specify a container to put the graph in
createGraph('#data-table', '.chart');

// Here be graphs
function createGraph(data, container) {
// Declare some common variables and container elements
var bars = [];
var figureContainer = $('<div id="figure"></div>');
var graphContainer = $('<div class="graph"></div>');
var barContainer = $('<div class="bars"></div>');
var data = $(data);
var container = $(container);
var chartData;
var chartYMax;
var columnGroups;
// Timer variables
var barTimer;
var graphTimer;
// Create table data object
var tableData = {
// Get numerical data from table cells
chartData: function () {
var chartData = [2];
data.find('tbody td').each(function () {
chartData.push($(this).text());
});
return chartData;
},
// Get heading data from table capt ion
chartHeading: function () {
var chartHeading = data.find('caption').text();
return chartHeading;
},
// Get legend data from table body
chartLegend: function () {
var chartLegend = [];
// Find th elements in table body - that will tell us what items go in the main legend
data.find('tbody th').each(function () {
chartLegend.push($(this).text());
});
return chartLegend;
},
// Get highest value for y-axis scale
chartYMax: function () {
var chartData = this.chartData();
// Round off the value
var chartYMax = Math.ceil(Math.max.apply(Math, chartData) / 4) * 4;
return chartYMax;
},
// Get y-axis data from table cells
yLegend: function () {
var chartYMax = this.chartYMax();
var yLegend = [];
// Number of divisions on the y-axis
var yAxisMarkings = 5;
// Add required number of y-axis markings in order from 0 - max
for (var i = 0; i < yAxisMarkings; i++) {if (window.CP.shouldStopExecution(0)) break;
yLegend.unshift(chartYMax * i / (yAxisMarkings - 1));
}window.CP.exitedLoop(0);
return yLegend;
},
// Get x-axis data from table header
xLegend: function () {
var xLegend = [];
// Find th elements in table header - that will tell us what items go in the x-axis legend
data.find('thead th').each(function () {
xLegend.push($(this).text());
});
return xLegend;
},
// Sort data into groups based on number of columns
columnGroups: function () {
var columnGroups = [];
// Get number of columns from first row of table body
var columns = data.find('tbody tr:eq(0) td').length;
for (var i = 0; i < columns; i++) {if (window.CP.shouldStopExecution(1)) break;
columnGroups[i] = [];
data.find('tbody tr').each(function () {
columnGroups[i].push($(this).find('td').eq(i).text());
columnGroups[i].push($(this).find('td').eq(i).text());
});
}window.CP.exitedLoop(1);
return columnGroups;
}
// Useful variables for accessing table data
};chartData = tableData.chartData();
chartYMax = tableData.chartYMax();
columnGroups = tableData.columnGroups();
// Construct the graph
// Loop through column groups, adding bars as we go
$.each(columnGroups, function (i) {
// Create bar group container
var barGroup = $('<div class="bar-group"></div>');
// Add bars inside each column
for (var j = 0, k = columnGroups[i].length; j < k; j++) {if
(window.CP.shouldStopExecution(2)) break;
// Create bar object to store properties (label, height, code etc.) and add it to array
// Set the height later in displayGraph() to allow for left-to-right sequential display
var barObj = {Punctuality};
barObj.label = this[j];
barObj.height = Math.floor(barObj.label / chartYMax * 100) + '%';
barObj.bar = $('<div class="bar fig' + j + '"><span>' + barObj.label + '%</span></div>').
appendTo(barGroup);
bars.push(barObj);
}
// Add bar groups to graph
window.CP.exitedLoop(2);barGroup.appendTo(barContainer);
});
// Add heading to graph
var chartHeading = tableData.chartHeading();
var heading = $('<h4>' + chartHeading + '</h4>');
heading.appendTo(figureContainer);
// Add legend to graph
var chartLegend = tableData.chartLegend();
var legendList = $('<ul class="legend"></ul>');
$.each(chartLegend, function (i) {
var listItem = $('<li><span class="icon fig' + i + '"></span>' + this + '</li>').
appendTo(legendList);
});
legendList.appendTo(figureContainer);
// Add x-axis to graph
var xLegend = tableData.xLegend();
var xAxisList = $('<ul class="x-axis"></ul>');
$.each(xLegend, function (i) {
var listItem = $('<li><span>' + this + '</span></li>').
appendTo(xAxisList);
});
xAxisList.appendTo(graphContainer);
// Add y-axis to graph
var yLegend = tableData.yLegend();
var yAxisList = $('<ul class="y-axis"></ul>');
$.each(yLegend, function (i) {
var listItem = $('<li><span>' + this + '</span></li>').
appendTo(yAxisList);
});
yAxisList.appendTo(graphContainer);
// Add bars to graph
barContainer.appendTo(graphContainer);
// Add graph to graph container
graphContainer.appendTo(figureContainer);
// Add graph container to main container
figureContainer.appendTo(container);
// Set individual height of bars
function displayGraph(bars, i) {
// Changed the way we loop because of issues with $.each not resetting properly
if (i < bars.length) {
// Animate height using jQuery animate() function
$(bars[i].bar).animate({
height: bars[i].height },
800);
// Wait the specified time then run the displayGraph() function again for the next bar
barTimer = setTimeout(function () {
i++;
displayGraph(bars, i);
}, 100);
}
}

// Reset graph settings and prepare for display


function resetGraph() {
// Stop all animations and set bar height to 0
$.each(bars, function (i) {
$(bars[i].bar).stop().css('height', 0);
});
// Clear timers
clearTimeout(barTimer);
clearTimeout(graphTimer);
// Restart timer
graphTimer = setTimeout(function () {
displayGraph(bars, 0);
}, 200);
}
// Helper functions
// Call resetGraph() when button is clicked to start graph over
$('#reset-graph-button').click(function () {
resetGraph();
return false;
});
// Finally, display graph via reset function
resetGraph();
}
});
//$(".subject").html(data);
/* var y1=data; */
/* document.writeln(y1);*/
}
})
});
});

</script>
<div class="app-main__outer" style="overflow-x: hidden;">
<div class="app-main__inner">
<style>
select { width: 80%; text-align:center; }
select, option {
text-align:center;
}
</style>
<form action="{{ url('/student/review') }}" method="post">
{{ csrf_field() }}
<div class="row" style="margin-top: 100px;">
<div class="col-md-2 col-lg-3" style="margin-bottom: 20px;">
<select type="select" id="staffname" name="staffname" class="staffname
custom-select" required="required">
<option>Select staffname</option>
@foreach($staffname as $staff )
<option value="{{ $staff->name }}">{{ $staff->name }}</option>
@endforeach
</select>
</div>
<div class="col-md-2 col-lg-3" style="margin-bottom: 20px;">
<input type="hidden" name="teachername" class="teachername"
id="teachername">
<select type="select" id="subject" name="subject" class="subject custom-select"
required="required">
<option>Select Subject</option>

</select>
</div>
<div class="col-md-2 col-lg-4" style="margin-bottom: 20px;">
<a style="float: right; "><button class="btn btn-info btn-round"
onclick="printDiv('printableArea')" style="width: 150px;">Print</button></a>
<br>
</div>
</div>
</form>
<!-- <div class="col-md-12">
<div class="main-card mb-3 card">
<div class="card-body">
<div class="col-md-3">
hh
</div>
<div class="col-md-6">
<h1>PMC TECH</h1>
</div>
<div class="col-md-3">
hh
</div>
</div>
</div>
</div> -->
<div class="main-card mb-3 card" id="printableArea">
<div class="card-body" >
<div class="row">
<div class="col-md-2">
<img src="{{asset('resources/views/overview/img/pmc.png')}}" width="150px"
style="margin-top: -20px;">
</div>
<div class="col-md-8">
<center><h4>PMC TECH</h4>
<h4>Er.PERUMAL MANIMEKALI COLLAGE OF ENGINEERING</h4>
<h4>DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS(MCA)</h4>
</center>
</div>
<div class="col-md-2">
<img src="{{asset('resources/views/overview/img/pmc2.png')}}" width="50px">
</div>
</div>
<div class="row" style="margin-top: 15px;">
<div class="col-md-2">
<h5>Class </h5>
<h5>Sem </h5>
<h5>Faculty Name </h5>
<h5>Subject code & Title </h5>
</div>
<div class="col-md-4">
<h5 >:<span class="dept"></span></h5>
<h5 >:<span class="sem"></span> </h5>
<h5 >:<span class="teacher"></span></h5>
<h5>:<spane class="Scode"></spane>&<spane class="sub">:</spane></h5>
</div>
<div class="col-md-3">
<h5>Batch</h5>
<h5>No Of Student</h5>
</div>
<div class="col-md-3">
<h5 >:<span class="batch"></span></h5>
<h5 >:<span class="totalnoStudent"></span></h5>

</div>
</div>
<table class="mb-0 table table-bordered">
<thead>
<tr>
<th>S.NO</th>
<th>Criterion</th>
<th>Grade Point</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<td>Punctuality</td>
<td class="Punctuality"></td>

</tr>
<tr>
<th>2</th>
<td>Regulerity</td>
<td class="Regularity"></td>
</tr>

<tr>
<th>3</th>
<td>Staff come well prepared for the class</td>
<td class="Prepared"></td>

</tr>

<tr>
<th>4</th>
<td>Class control</td>
<td class="classcontrol"></td>

</tr>
<tr>
<th>5</th>
<td>Sound subject Knowledge</td>
<td class="sound"></td>

</tr>
<tr>
<th>6</th>
<td>Communication Skill</td>
<td class="comskill" ></td>
</tr>
<tr>
<th>7</th>
<td>Student Interaction</td>
<td class="stuInter"></td>
</tr>
<tr>
<th>8</th>
<td>Engage the class for the entire 50 minutes</td>
<td class="Engage" ></td>
</tr>
<tr>
<th>9</th>
<td>Time to spent on irrelevant or general matters </td>
<td class="Time"></td>
</tr>
<tr>
<th>10</th>
<td>Syllabus Compiletion</td>
<td class="syllabus"></td>
</tr>
<tr>
<th>11</th>
<td>Correction of test Paper</td>
<td class="Correction"></td></tr>
<tr>
<th>12</th>
<td>Partial in Awarding Marks & making remarks</td>
<td class="Partial"></td
</tr>
<tr>
<th>13</th>
<td>Punishing & Therating the student unreasonably</td>
<td class="Punishing"></td>
</tr>
<tr>
<th>14</th>
<td>Inspiring & Motiating</td>
<td class="Inspiring"></td>
</tr>
<tr>
<th>15</th>
<td>Prefer the same teacher to teach in the next semester</td>
<td class="prefer"></td>
</tr>
</tbody>
</table>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js"
type="text/javascript"></script>
<!-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-
reset/2.0/reset.min.css"> -->
<style>
body {
background: #fff;
color: #333;
/*font: 12px/20px 'Helvetica Neue', Arial, sans-serif;*/
margin: 0;
padding: 0;
}
h2 {
/* font-size: 18px;*/
/*font-weight: normal;*/
line-height: 20px;
margin: 0 0 20px 0;
padding: 0;
text-align: center;
}
h4 {
color: #545454;
/*font-size: 14px;*/
font-weight: normal;
line-height: 20px;
margin: 0 0 20px 0;
padding: 0;
text-align: center;
}
a{
color: #333;
}

/* Table */
#data-table {
border: none; /* Turn off all borders */
border-top: 1px solid #ccc;
width: 60%;
}
#data-table th,
#data-table td {
border: none; /* Turn off all borders */
border-bottom: 1px solid #ccc;
margin: 0;
padding: 10px;
text-align: left;
}

/* Toggle */
.toggles {
background: #ebebeb;
color: #545454;
height: 20px;
padding: 15px;
}
.toggles p {
margin: 0;
}
.toggles a {
background: #222;
border-radius: 3px;
color: #fff;
display: block;
float: left;
margin: 0 10px 0 0;
padding: 0 6px;
text-decoration: none;
}
.toggles a:hover {
background: #666;
}
#reset-graph-button {
float:right;
}

/* Graph */
/* Containers */
#wrapper {
margin: 25px auto;
width: 60%;
}
#figure {
height: 380px;
position: relative;
}
#figure ul {
list-style: none;
margin: 0;
padding: 0;
}
.graph {
height: 283px;
position: relative;
}

/* Legend */
.legend {
background: #f0f0f0;
border-radius: 4px;
bottom: 0;
position: absolute;
text-align: left;
width: 540px;
}
.legend li {
display: block;
float: left;
height: 20px;
margin: 0;
padding: 10px 30px;
width: 120px;
}
.legend span.icon {
background-position: 50% 0;
border-radius: 2px;
display: block;
float: left;
height: 16px;
margin: 2px 10px 0 0;
width: 16px;
}

/* X-Axis */
.x-axis {
bottom: 0;
color: #555;
position: absolute;
text-align: center;
width: 100%;
}
.x-axis li {
float: left;
margin: 0 15px;
padding: 5px 0;
width: 2%;
}
.x-axis li span {
float: left;
}
/* Y-Axis */
.y-axis {
color: #555;
position: absolute;
text-align: right;
width: 100%;
}
.y-axis li {
border-top: 1px solid #ccc;
display: block;
height: 62px;
width: 100%;
}
.y-axis li span {
display: block;
margin: -10px 0 0 -60px;
padding: 0 10px;
width: 40px;
}

/* Graph Bars */
.bars {
height: 253px;
position: absolute;
width: 100%;
z-index: 10;
}
.bar-group {
float: left;
height: 100%;
margin: 0 15px;
position: relative;
width: 2%;
}
.bar {
border-radius: 3px 3px 0 0;
bottom: 0;
cursor: pointer;
height: 0;
position: absolute;
text-align: center;
width: 24px;
}
.bar span {
background: #fefefe;
border-radius: 3px;
left: -8px;
display: none;
margin: 0;
position: relative;
text-shadow: rgba(255, 255, 255, 0.8) 0 1px 0;
width: 40px;
z-index: 20;

-webkit-box-shadow: rgba(0, 0, 0, 0.6) 0 1px 4px;


box-shadow: rgba(0, 0, 0, 0.6) 0 1px 4px;
}
.bar:hover span {
display: block;
margin-top: -25px;
}

#data-table.js {
display: none;
}
.bar span {
background: #fefefe;
}
.fig0 {
background: #a22;
}
</style>
<script>
window.console = window.console || function(t) {};
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>
<script>
if (document.location.search.match(/type=embed/gi)) {
window.parent.postMessage("resize", "*");
}
</script>
</head>
<body translate="no">

<div id="wrapper">
<div class="chart">
<h2>Criterion</h2>
<table id="data-table" border="1" cellpadding="10" cellspacing="0" summary="skillset">
<thead>
<tr>
<td>&nbsp;</td>
<th scope="col">1</th>
<th scope="col">2</th>
<th scope="col">3</th>
<th scope="col">4</th>
<th scope="col">5</th>
<th scope="col">6</th>
<th scope="col">7</th>
<th scope="col">8</th>
<th scope="col">9</th>
<th scope="col">10</th>
<th scope="col">11</th>
<th scope="col">12</th>
<th scope="col">13</th>
<th scope="col">14</th>
<th scope="col">15</th>

</tr>
</thead>
<tbody>
<tr>
<td class="Punctuality"></td>
<td class="Regularity"></td>
<td class="Prepared"></td>
<td class="classcontrol"></td>
<td class="sound"></td>
<td class="stuInter"></td>
<td class="Engage"></td>
<td class="Time"></td>
<td class="syllabus"></td>
<td class="Correction"></td>
<td class="Partial"></td>
<td class="Punishing"></td>
<td class="Inspiring"></td>
<td class="prefer"></td>
<td class="comskill"></td>
</tr>
</tbody>
</table>
</div>
</div>
<script src="https://static.codepen.io/assets/common/stopExecutionOnTimeout-
de7e2ef6bfefd24b79a3f68b414b87b8db5b08439cac3f1012092b2290c719cd.js"></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script id="rendered-js">

//# sourceURL=pen.js
</script>
</body>
</html>
<div class="row">
<div class="col-md-10">
<h3 style="font-size: 20px;">FACULTY</h3>
</div>
<div class="col-md-2">
<h3 style="font-size: 20px;">HOD</h3>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection

Вам также может понравиться