Creating Web Applications and Databases
Report Title:
Name:
Student ID:
Date Of Submission:
Summary
This application is a small quiz management system by using PHP and the MySQL. Mysqli commands have been used to access from the database or insert the data into the database. Processed the same form as mentioned in quiz.html taken from the assignment 1 and converted this into a dynamic system with the help pg PHP. I have use HTML, CSS JavaScript as a client-side to strengthen the application and designed the interactive application as per your requirements. One can use MySQL as a database with it to store the data in the backend, but in addition to this MySQL, one can use any other database management tools to fulfill all the need you are looking for.
Introduction
We are in the early edge of the 21st century, the era of Technological accomplishments, advancement, computerization and the deep storm of bundled of programming languages. To cope with the situation, various business houses, organizations, startups choose programming languages to use in their applications by majoring that programming language on various scales like – is open source or not, speed, durability, security, implementation cost, ease of making maintenance on existing system and other. The proposed system is a quiz management system, in which one student can switch to the proposed website a go-to quiz section via the link provided on the menu of each page. For any particular student, there is a limit of 3 attempt one can go with it and this is a quick and easy quiz on 3 question. This system is developed using the PHP and Mysqli. PHP is a server site web based scripting language. Mysqli commands have been used for interaction with the database and the front end application.
Objective
The objective of the system is the computerized the quiz system dynamically by transferring assignment 1 and changes as per the need as mentioned in the assignment . There sections are provided for Client/ Requirement/Resource.
list of other objective are here:
At Student/User Section
Listing the quiz attempt
User report who have attempted the quiz.
Student report who have scored 100% in their first attempt
Attempt quiz and show report
At admin Section:
Admin can view the listing
Can delete the student attempted data
Update the data
Can view data as per their need after sorting
Getting the record of a particular user after clicking on the first name or last name of the student.
Able to delete the record after clicking on the delete action of mentioned student.
Analysis
The questionnaires, interviews and informal discussion with the employees allowed me to understand the needs of the users. Analyse
Once scope has been identified, our project team focus on the feasibility.
1. Technical
Economical
Operational
Web 2.0 compatibility of the system refers to the World Wide Web application with the user-generated content, usability, ease of use, ease of access, even this can be used by non-experts or nontechnical guy. This will be working on any devices like desktop, laptop, smart-phone, iPad etc in its best way. As it is easy to add, edit, create and the maintain the content of the course or quiz created by our system. In content part, social media can be easily added to the video, audio, and content from the other source like Facebook, YouTube and other. In the content area, one can easily embed the YouTube video and any other media for the informational reference. Data will be collected from all participants, including attendees, workshops, vendors, and volunteers.
Excel have been used as a analysis tools, this is the tool one can understand very easily and in a very quick time spam.
Breaking the task into subtask and started working on it and acheived the target
Sr No Task Task Info Estimated time(Hours) Remark
1 Home page Interactive home page, understanding the requirement and working on it, showing information what we do and other company info. Slider on home page 5 2 Quiz Page For both Firm Personnel and Clients 5 3 Manage Page submit save data to table, sort report, list report, report, manger report like adding, deleting, updating, status(open/close) 10
Sr No Task Task Info Estimated time(Hours) No of bugs Minor bug count Major bug Count Date Remark
1 Home page Interactive home page showing information what we do and other company info. Slider on home page 4 3 2 1 All bugs are content related
After releasing the first step and get some bugs again fixes this and delivered and found the application is running well.
Quality assurance:
We tally every completed work with actual requirements to making sure we are submitting the required one module to the client.
Ensuring that person is a qualify enough to access the system
Manual testing
Reviewing
Meeting
Inspections
It tested by quality audit team
Validation Check:
Validation check is the process of validating the code the the time of development and after the development. Developer do this testing during the development and after that releases for the quality check and again it tested by the tester to make sure things are working properly.
This include:
Testing during validation phase
Black box and white box testing
Unit testing
input validation
user validation
Manual and automation testing both
Content verification
Functional or program execution check
It is done by testing team
Conclusion:
Putting related files separate to minimize the chances of coming issues in the system.
For example following folder architecture.
putting business login in a separate file.
<?php
$hostname= “localhost”;
$username= “root”;
$password = “”;
$dbName = “quiz”;
$conn = mysqli_connect($hostname, $username, $password,$dbName);
// Check connection
if ($conn->connect_error) {
die(“Connection failed: ” . $conn->connect_error);
}
// function to get number of attempt
function numberOfAttempt($conn, $CollegeId){
$sql = “SELECT MAX(number_of_attempt) as number_of_attempt FROM attempts where student_number=’$CollegeId'”;
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
return $row”number_of_attempt”;
}
} else {
return 0;
}
}
// function for basic listing
function listAllAtempt($conn,$id=””){
if($id==””){
$sql = “SELECT * FROM attempts order by student_number asc”;
}else{
$sql = “SELECT * FROM attempts where student_number=’$id’ order by student_number asc”;
}
$result = $conn->query($sql);
echo “<table border=’2′>”;
echo “<tr>”;
echo “<td>Sr</td>”;
echo “<td>attempt_time</td>”;
echo “<td>first_name</td>”;
echo “<td>last_name</td>”;
echo “<td>student_number</td>”;
echo “<td>number_of_attempt</td>”;
echo “<td>score</td>”;
echo “<td>Action</td>”;
echo “</tr>”;
if ($result->num_rows > 0) {
$i = 1;
while($row = $result->fetch_assoc()) {
echo “<tr>”;
echo “<td>”.$i++.”</td>”;
echo “<td>”.$row”attempt_time”.”</td>”;
echo “<td>”.”<a href=’manage.php?id=”.$row”student_number”.”‘>”.$row”first_name”.”</td>”;
echo “<td>”.”<a href=’manage.php?id=”.$row”student_number”.”‘>”.$row”last_name”.”</td>”;
echo “<td>”.”<a href=’manage.php?id=”.$row”student_number”.”‘>”.$row”student_number”.”</td>”;
echo “<td>”.$row”number_of_attempt”.”</td>”;
echo “<td>”.$row”score”.”</td>”;
echo “<td>”.”<a href=’manage.php?delete=”.$row”student_number”.”‘>”.”Delete”.”</td>”;
echo “</tr>”;
}
} else {
echo “<tr><td>No record Found.</td><tr>”;
}
echo “</table>”;
}
// function for 100% in first attempt
function firstAttemp100($conn){
$sql = “SELECT * FROM attempts where score=30 AND number_of_attempt=1 order by student_number asc”;
$result = $conn->query($sql);
echo “<table border=’2’>”;
echo “<tr>”;
echo “<td>Sr</td>”;
echo “<td>attempt_time</td>”;
echo “<td>first_name</td>”;
echo “<td>last_name</td>”;
echo “<td>student_number</td>”;
echo “<td>number_of_attempt</td>”;
echo “<td>score</td>”;
echo “<td>Action</td>”;
echo “</tr>”;
if ($result->num_rows > 0) {
$i = 1;
while($row = $result->fetch_assoc()) {
echo “<tr>”;
echo “<td>”.$i++.”</td>”;
echo “<td>”.$row”attempt_time”.”</td>”;
echo “<td>”.”<a href=’manage.php?id=”.$row”student_number”.”‘>”.$row”first_name”.”</td>”;
echo “<td>”.”<a href=’manage.php?id=”.$row”student_number”.”‘>”.$row”last_name”.”</td>”;
echo “<td>”.”<a href=’manage.php?id=”.$row”student_number”.”‘>”.$row”student_number”.”</td>”;
echo “<td>”.$row”number_of_attempt”.”</td>”;
echo “<td>”.$row”score”.”</td>”;
echo “<td>”.”<a href=’manage.php?delete=”.$row”student_number”.”‘>”.”Delete”.”</td>”;
echo “</tr>”;
}
} else {
echo “<tr><td>No record Found.</td><tr>”;
}
echo “</table>”;
}
// function for less than 50% in 3rd attempt
function thirdAttemp50($conn){
$sql = “SELECT * FROM attempts where score<15 AND number_of_attempt=3 order by student_number asc”;
$result = $conn->query($sql);
echo “<table border=’2’>”;
echo “<tr>”;
echo “<td>Sr</td>”;
echo “<td>attempt_time</td>”;
echo “<td>first_name</td>”;
echo “<td>last_name</td>”;
echo “<td>student_number</td>”;
echo “<td>number_of_attempt</td>”;
echo “<td>score</td>”;
echo “<td>Action</td>”;
echo “</tr>”;
if ($result->num_rows > 0) {
$i = 1;
while($row = $result->fetch_assoc()) {
echo “<tr>”;
echo “<td>”.$i++.”</td>”;
echo “<td>”.$row”attempt_time”.”</td>”;
echo “<td>”.”<a href=’manage.php?id=”.$row”student_number”.”‘>”.$row”first_name”.”</td>”;
echo “<td>”.”<a href=’manage.php?id=”.$row”student_number”.”‘>”.$row”last_name”.”</td>”;
echo “<td>”.”<a href=’manage.php?id=”.$row”student_number”.”‘>”.$row”student_number”.”</td>”;
echo “<td>”.$row”number_of_attempt”.”</td>”;
echo “<td>”.$row”score”.”</td>”;
echo “<td>”.”<a href=’manage.php?delete=”.$row”student_number”.”‘>”.”Delete”.”</td>”;
echo “</tr>”;
}
} else {
echo “<tr><td>No record Found.</td><tr>”;
}
echo “</table>”;
}
// function for delete attemt
function deleteAttempt($conn,$id){
$sql = “delete FROM attempts where student_number=’$id'”;
if($conn->query($sql) === TRUE){
echo “Record Deleted Successfully.”;
}
}
// function for soting
function listAllAtemptSort($conn,$sort=””){
if($sort==””){
$sql = “SELECT * FROM attempts”;
}else{
$sql = “SELECT * FROM attempts order by $sort asc”;
}
$result = $conn->query($sql);
echo “<table border=’2’>”;
echo “<tr>”;
echo “<td>Sr</td>”;
echo “<td>attempt_time</td>”;
echo “<td>first_name</td>”;
echo “<td>last_name</td>”;
echo “<td>student_number</td>”;
echo “<td>number_of_attempt</td>”;
echo “<td>score</td>”;
echo “<td>Action</td>”;
echo “</tr>”;
if ($result->num_rows > 0) {
$i = 1;
while($row = $result->fetch_assoc()) {
echo “<tr>”;
echo “<td>”.$i++.”</td>”;
echo “<td>”.$row”attempt_time”.”</td>”;
echo “<td>”.”<a href=’manage.php?id=”.$row”student_number”.”‘>”.$row”first_name”.”</td>”;
echo “<td>”.”<a href=’manage.php?id=”.$row”student_number”.”‘>”.$row”last_name”.”</td>”;
echo “<td>”.”<a href=’manage.php?id=”.$row”student_number”.”‘>”.$row”student_number”.”</td>”;
echo “<td>”.$row”number_of_attempt”.”</td>”;
echo “<td>”.$row”score”.”</td>”;
echo “<td>”.”<a href=’manage.php?delete=”.$row”student_number”.”‘>”.”Delete”.”</td>”;
echo “</tr>”;
}
} else {
echo “<tr><td>No record Found.</td><tr>”;
}
echo “</table>”;
}
Output Screen and appendixes:
Once click of the first name or last name of any user it will display the record of that particular student
Attempt submitted successfully:
Reference:
1. Software Engineering Financial products, behavior control and coordination, software architectures and databases.
2. Programming the World Wide Web – 2011, by Robert W. Sebesta
3. Software Testing Techniques 2nd Edition , 1986 by Boris Beizner